• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Äußerst seltsames Verhalten...

J

j-l-n

Guest
Habe folgenden PHP-Code. Die Variable $newurl wird zwar richtig angezeigt als z.B. index.php (wenn das Dokument index.php ist), aber wenn ich dann im href-Tag die Variable verwende und den Link anklicke, ruft der Browser anstatt z.B. index.php?switch einfach nur "$newurl?switch" auf...

PHP:
$url = $_SERVER["PHP_SELF"];

echo"<a href='$url?switch'>Link</a>"; //funktioniert, beim Klick kommt man z.B. auf index.php?switch

if($_GET['browser'] == "mobil"){

$newurl = $GLOBALS["url"];
echo"$newurl"; //zeigt "index.php an - $newurl muss also definiert sein...

echo'<a href="$newurl?switch">Link</a>'; //nun allerdings kommt man beim Klick auf $newurl?switch auf index.php?switch anders als beim ersten Link auf http://example.com/$newurl?switch, was natürlich einen 404-Error verursacht
}
 
Zuletzt bearbeitet:
Les' dir mal den Unterschied zwischen ' und " in PHP durch...

ABER ich finde die Variableninterpretation in Strings sowieso schlecht. Arbeite doch mit ganz normaler Stringverkettung, also
PHP:
 echo '<a href="' . $newurl . '?switch">...';

ABER (Nr. 2) die ganzen Verrenkungen mit $_SERVER["PHP_SELF"] ist komplett unnötig, da du direkt
HTML:
<a href="?switch">...</a>
schreiben kannst. Hab' bis jetzt noch keinen Browser getroffen, der das nicht versteht.
 
Zuletzt bearbeitet:
ABER (Nr. 2) die ganzen Verrenkungen mit $_SERVER["PHP_SELF"] ist komplett unnötig, da du direkt
HTML:
]<a rel="nofollow" href="?switch">...</a>
schreiben kannst.

Hatte ich ganz am Anfang gemacht. Aber dann wurde "?switch" aufgerufen und nicht "Datei.php?switch", was natürlich einen 404 produzierte...
 
Les' dir mal den Unterschied zwischen ' und " in PHP durch...

Hab ich gemacht. Das da ein Unterschied besteht, wusste ich noch nicht. Bisher hatte ich nur davon gelesen, dass egal ist, ob man " oder ' schreibt. Naja, jetzt weiß ich's...

php.lernenhoch2.de schrieb:
[...]Du kannst Variablen innerhalb des Strings in Variante 1 packen und PHP wird automatisch den Wert einfügen.
[...]
In Variante 2 würdest du mit dieser Methode folgende Ausgabe erhalten: $name[...]
 
ganz egal ist es nicht. wenn dein echo mit " steht, dann musst du alles was nach einem = steht mit einem \ maskieren.

der vorteil von einem einfachen ' liegt darin, dass man es so besser im qt einrücken kann. aus echo ' blablubb'; wird im qt auch ein tab eingebaut. aber, du musst, wenn du einen dynamischen wert einbaust href=" '.blablubb.' " schreim. sonst wird das nix
 
Zurück
Oben