Variablenübergabe per URL mit ($_POST usw.)

Admiral

Grünschnabel
Hallo,

nun habe ich alle Beiträge über das leidige Thema Globale Variablen ($_POST usw.) durchgesehen um mich in das Thema einzuarbeiten.
Die Variablenübergabe per Formular und das wieder Auslesen auf einer anderen Seite klappt ja einwandfrei.

Was ich aber nicht gefunden habe ist die Übergabe per Link.
Muss man eine Variable zuvor so deklarieren?
$test = 8;
$anzahl = $_REQUEST['test'];

um sie per Link: echo "<a href=\"naesteSeite.php?param=$anzahl\">Link</a>";
zu übergeben, oder wie wird es korrket gemacht?


Vielen Dank im voraus,

Admiral
 
Nein auf der Seite wo du den Link ausgibst musst du noch gar nicht mit den Arrays hantieren.

$value = "bla";

Dann könntest du einen Link setzen, wie folgt
PHP:
echo "<a href=\"index.php?variablename=$value\">bla</a>";

Und dann auf der nächsten seite mit $_REQUEST['variablename'] darauf zugreifen.

Du kannst natürlich bei festen werten auch sofort auf index.php?bla=bla2 linken. Dann wäre die Variable auf der nächsten Seite halt $_GET['bla'] oder eben mit $_REQUEST[]
 
jo, Danke

vielen Dank für die schnelle Antwort, dann habe ich jetzt alles verstanden.
ich hatte zwar mit beiden Varianten gespielt und nur wenn ich ohne die Deklaration mit $_REQUEST gearbeitet habe bekam ich auch auf der anderen Seite ein Ergebnis. Ich war mir jedoch nicht sicher ob das auch im Sinne des Erfinders war.

Gruß und Dank

- Admiral -
 
Original geschrieben von Tim Comanns

Du kannst natürlich bei festen werten auch sofort auf index.php?bla=bla2 linken. Dann wäre die Variable auf der nächsten Seite halt $_GET['bla'] oder eben mit $_REQUEST[]


Und was wäre dann in dem Sinne der unterschied zwischen diesen beiden Schreibseisen

echo $_GET['bla'];

echo $bla;
 
Das echo $bla nichts ausgibt, wenn register_globals in der php.ini auf off steht, was es bei den meisten Hoster auch tut, was auch gut so ist ;)
 
Noch viel mehr. Es ist der einzig mögliche Schreibstil bei register_globals=off bzw seit PHP 4.2.0. Also du MUSST über die superglobalen Arrays gehen. Für Variablen, die per URL übergeben werden ist das nunmal $_GET[]. Alternativ kannst du natürlich auch das Sammel Array $_REQUEST[] nutzen, das sämtliche Inhalte aus $_POST, $_GET, $_COOKIE und $_SESSION enthält.
 
Mhh okay, denn bei meinem anbieter ist das nicht der fall.
Gilt das ganze auch bei HTML-Formular Übergabe von Daten?


Was wäre denn der nachteil register_global = on?
 
Zuletzt bearbeitet:
Zurück