Einfache Möglichkeit (?)
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
aufziehen
befehl
bleiben
bot
bug
entfernen
ersetzen
folgende url
funktion
gesamten informationen
http
index
mache
manual
parameter
ren
schlag
session
target
url
-
Habe ?ber die URL ein paar Variablen ?bergeben:
www.xy.de/index.php?site=test&anzeige=blau&size=small
Wenn ich z.B. nur die Variable $site ?ndern und die anderen Parameter gelich lassen will, gehe ich wie folgt vor:
<a href="?site=seite1&anzeige=<? echo $anzeige; ?>&size=<? echo $size; ?>" target="_self">
Gibt es eine M?glichkeit das vereinfacht zu l?sen?
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
also ich w?rde Dir es so empfehlen:
<?
echo "<a href='?site=seite1&anzeige='$anzeige'&size='$size'&sid=8b4a4dacce5f65db50235a2d67b454f0 target='_self'>";
?>
Also dern gesamten Link in PHP zu schreiben, sieht doch vieeel ?bersichtlicher aus, oder?
Eine andere M?glichkeit kenn ich/f?llt mir daf?r nicht ein! -
wie w?rs mit der m?glichkeit, die der bug beim editieren hier bei lima hinzuf?gt?
sprich sessions...
dann k?nnen die sites auch bots von suchmaschinen durchforsten
bei zu langen links h?ren die n?mlich auf :(
lucas9991, hab deine Idee irgendwie nicht verstanden. Kannst du das bitte nochmal erkl?ren.
compactdisc, das ist ja nichts anderes als das, was ich gemacht habe. Einfach den Wert der Variable in der URL weitergeben. Ich suche eher eine andere M?glichkeit.
Ich befinde mich auf der seite
www.xy.de/index.php?site=1&anz=new&size=2
und mache folgenden Link:
<a href="?site=2">
Alle anderen Werte (hier: $anz und $size) sollen bleiben und $site auf 2 gesetzt werden. Wenn ich das mit obiger version mache, werden die Werte $anz und $size gel?scht und $site = 2 gesetzt.
-
<a href="?site=seite1&anzeige=<? echo $anzeige; ?>&size=<? echo $size; ?>" target="_self">
Der Validator wird hier meckern. Denn auch & muss in entities geschrieben werden, auch in Links. Also solltest du, wenn dir der Validator nicht v?llig egal ist, & durch & ersetzen
Edit jacr
Zwei Beitr?ge zusammen gefasst.
[..] nicht v?llig egal ist, & durch & ersetzen
Hier ist leider etwas schief gegangen. Du solltest & durch "& a m p ;" ersetzen (Leerzeichen bitte entfernen). -
also
bei cd`s beitrag wurd oben wie du siehst hinter dem link die session automatisch angef?gt, dass is der bug von lima
und ich schlage dir vor dein prob mit sessions zu l?sen
also die werte einfach in die session schreiben ;) -
Wenn ihr euch nur irgendwann mal von dem d?mlichen echo()-Befehl l?sen k?nntet:
printf("....%s....%s...", $variable1, $variable2, ...)
Schreibt die Inhalte der Variablen in den Formatierungsstring. Die richtige Dokumentation befindet sich unter:
http://www.php.net/manual/de/function.printf.php
und
http://www.php.net/manual/de/function.sprintf.php
MfG
alopex
*nachtr?glich_einf?g*
Gut, DJ Mo! Da muss ich eben h?rtere Saiten aufziehen, gr??ere Gesch?tze auffahren, ...
oder wie Bugs Bunny sagte:
?Off course you know: This means war!?
-
Wenn es mehr Variablen werden und die uhrspr?nglichen bleiben k?nntest
du das nehmen:
$QUERY_STRING <- die speichert die gesamten Informationen hinter dem ?
dh wenn du folgende Url hast: http://www.xyz.de?site=news&user=mrx
dann hat die variable folgenden wert: site=news&user=mrx
So kannst du eben alle alten variablen dranh?ngen:
http://www.xyz.de?<?php echo $QUERY_STRING; ?>
@alopex
nein wir l?sen uns nicht vom Echobefehl rein aus Prinzip weil du dagegen
bist. -
doch wir l?sen uns von der echo() funktion! ;)
hier ein perfektes script (bisschen eingebildet darf ich doch sicherlich sein )
$url = $_SERVER["SCRIPT_NAME"];
if (isset($_SERVER["QUERY_STRING"]) && $_SERVER["QUERY_STRING"] != '') {
$url .= "?" . $_SERVER["QUERY_STRING"];
}
sprintf("<a href="%s">bla</a>", htmlspecialchars($url));
-
OK. Die Funktion ist zwar sehr sch?n, aber da kommt mir die Frage auf, ob ein alter Wert von einem neuen Wert ?berschrieben werden kann.
Beispiel:
index.php?site=seite1&user=mrx&action=xyz
Dann werden durch diese Funktion:
$url = $_SERVER["SCRIPT_NAME"];
if (isset($_SERVER["QUERY_STRING"]) && $_SERVER["QUERY_STRING"] != '') {
$url .= "?" . $_SERVER["QUERY_STRING"];
}
sprintf("<a href="%s">bla</a>", htmlspecialchars($url));
alle Werte hinter dem "?" an den neuen Link ?bergeben. Wenn aber f?r $site z.B. "Seite2" stehen soll, w?rde das doch nicht funktionieren, oder? -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage