Variablen übergeben mit Link
Lars
- php
Hallo zusammen,
mit folgendem Problem quälte ich mich als Newbie seit einiger Zeit rum:
Ich habe ein Script, in dem die Variable $name einen Wert zugewiesen bekommen hat. Diese Variable (genauer: deren Inhalt) möchte ich jetzt über einen Link an ein anderes Script übergeben.
Der Link im sendenden Script sieht so aus:
<a href="neuesscript.php&var=$name>Neues Script </a>
Im auslesenden Script hab ich folgende Syntax:
$weiterverarbeiten=$_GET['var'];
Leider erhält durch diese Vorgehensweise die Variable $weiterverarbeiten den Inhalt "$name". Sinn der Übung wäre es allerdings, dass $weiterverarbeiten logischerweise den Inhalt der Variablen $name zugewiesen bekommt.
Wäre klasse, wenn mir jemand helfen könnte. Danke vorab!!
Hi,
Natürlich musst du auch noch mitteilen, das es sich bei der Variable $name um eine PHP-Variable handelt:
<a href="neuesscript.php&var=<?=$name>Neues Script?></a>
^^^ ^^
Gruß Bobby
Hello,
<a href="neuesscript.php&var=<?=$name>Neues Script?></a>
^^^ ^^
dein PHP-Tag schließt sich hinter Script weil....?
Wenn du nur die Variable dort hin schreiben möchtest, dann hätte es auch <?=$name?> getan.
Nächste Anmerkung: <?, also die PHP-Shorttags, sind nicht unbedingt zu empfehlen, man sollte zur Sicherheit immer die Langschreibweise verwenden.
MfG
Rouven
Hi
Nächste Anmerkung: <?, also die PHP-Shorttags, sind nicht unbedingt zu empfehlen, man sollte zur Sicherheit immer die Langschreibweise verwenden.
Weshalb? Mir wurde bisher geraten so viel wie möglich in HTML zu schreiben und echo-Aufrufe von Variablen so abzukürzen. Erklär mal bitte das Problem. Würde mich interessieren. Man lernt ja nie aus.
Gruß Bobby
Hello,
für den Einstieg gibt es da die Unannehmlichkeit mit XML-Headern
- du wirst nie in der Lage sein, an einem echten XHTML/XML-Parser deine PHP-Dateien vorbeizuschmuggeln oder ohne weiteres in deine .php-Dateien XML-Code zu schreiben.
Dann ist es nunmal so, dass shorttags eine optionale Einstellung sind. D.h., wenn du jemals den Server wechseln musst oder willst, kann es dir von jetzt auf gleich passieren, dass deine Skripte nicht mehr laufen - so wie bei register_globals halt auch. Wenn du für Veränderungen gewappnet sein willst, wähle grundsätzlich die Variante, die dem Standard entspricht.
MfG
Rouven
Hi Rouven,
Danke für die Info. Hab ich so noch nicht gewußt. Werd ich in Zukunft beachten. das Beispiel mit den register_globals ist gut gewählt und macht mir die Notwendigkeit deutlich.
Danke dafür
Gruß Bobby
<a href="neuesscript.php&var=<?=$name>Neues Script?></a>
^^^ ^^
Sorry der Fehlerteufel:
Es muß richtig heißen:
<a href="neuesscript.php&var=<?=$name>Neues Script?>"></a>
Gruß Bobby
<a href="neuesscript.php&var=<?=$name>Neues Script?></a>
^^^ ^^Sorry der Fehlerteufel:
Es muß richtig heißen:
<a href="neuesscript.php&var=<?=$name>Neues Script?>"></a>
Gruß Bobby
Hi Bobby,
erstmal vielen Dank für Deine Hilfe. Leider ergibt die Syntax bei mir folgenden Fehler:
Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in /home/www/web254/html/bilder/cover/upload.php on line 40
Noch 'ne Idee? Sorry für die Nerverei ... ;-)
Sorry mein Fehler
<a href="neuesscript.php&var=<?=$name?>">Neues Script</a>
oder <a href="neuesscript.php&var=<?echo $name;?>">Neues Script</a>
Gruß Bobby
Sorry mein Fehler
<a href="neuesscript.php&var=<?=$name?>">Neues Script</a>
oder <a href="neuesscript.php&var=<?echo $name;?>">Neues Script</a>
Gruß Bobby
Hallo Bobby,
auch wenn ich Gefahr laufe, dass Wahsaga mich mit einem Einsteiger-Buch erschlägt - es funktinoniert immer noch nicht. Jetzt wird angeblich die Datei nicht gefunden mit folgender Meldung:
The requested URL /admin/neuerlink.php&var= was not found on this server.
Wenn ich die Variablenübergabe beim Link weglasse, findet er die Seite aber sehr wohl. Das Script sieht jetzt so aus:
<a href="../../admin/neuerlink.php&var=<?echo $neuedatei;?>">Weiter zum 2. Schritt</a>
Verwirrt und ahnungslos ....
Lars
hi,
Jetzt wird angeblich die Datei nicht gefunden mit folgender Meldung:
The requested URL /admin/neuerlink.php&var= was not found on this server.
Der Query String wird mit ? eingeleitet - und _in_ ihm werden die Parametername=Parameterwert-Paare durch & (in HTML als & notiert) getrennt.
/admin/neuerlink.php?name=value
gruß,
wahsaga
hi,
Noch 'ne Idee?
Schnapp dir das Handbuch, und erlerne die Sprachgrundlagen selber ...?
gruß,
wahsaga
Hi,
Es gibt Tage da sollte man es einfach lassen und man sieht den Wald vor lauter Bäumen oder eben ein A-Href-Ende nicht. So nun hoff ich mal stimmts:
<a href="neuesscript.php&var=<?=$name?>">Neues Script</a>
Gruß Bobby
echo $begrüßung;
<a href="neuesscript.php&var=$name>Neues Script </a>
Wenn sich diese Textstelle im HTML-Code befindet und nicht innerhalb einer PHP-String-Notation, dann musst du zuerst in den PHP-Modus wechseln, bevor du auf PHP-Dinge zugreifen kannst, und ihn hinterher wieder beenden. Statt der bereits erwähnten Kurzform ist es immer sicherer (die Kurzform kann deaktiviert sein), die Langform zu verwenden: <?php echo $name ?>
Außerdem wolltest du sicher statt des & ein ? schreiben. Und: wenn du &-Zeichen im HTML-Text notierst, auch wenn sie Bestandteil einer URL sind, sind sie als & zu notieren.
Weiterhin ist zu beachten, dass Daten, die über eine URL übertragen werden sollen, URL-gerecht notiert werden müssen. Das lässt sich mit urlencode() erledigen. Anschließend muss du diesen String mit htmlspecialchars() für den HTML-Kontext behandeln. Siehe Example 2 der verlinkten Seite.
echo "$verabschiedung $name";