Morgen!
Also im Prinzip ist die ganze Sache nicht so wild. Früher, wenn du ein Formular mit einem Textfeld namens "meintext" abgeschickt hast, dann kam in deinem Zielskript immer eine Variable $meintext an. Leider haben die Leute Methoden gefunden damit Skripte zu manipulieren, hacken etc. - Beispiel?
Im Skript steht:
if ($passwort = passwort) { $login = true; }
if ($login) { echo "willkommen, sie sind drin"; }
Würde ich dieses Skript aber aufrufen 'skriptname.php?login=true' wär ich vermutlich drin...
Daher wurde beschlossen, Skriptvariablen und Formular-Variablen zu trennen. Wenn du register_globals auf OFF hast, dann kannst du nun die Variable $login benutzen, sie wird aber NIEMALS von einem Formular belegt, weder über die URL noch über ein POST.
Um aber eben diese beiden Quellen zu berücksichtigen, verwendet man die Superglobals $_GET (GET-Formulare und URL-Parameter) und $_POST (POST-Formulare).
$internevariable = $_GET['externevariable']
Um es am Beispiel von oben zu machen:
1. POST
<form method="post" action="myscript.php">
<input type="text" name="meintext">
</form>
--> myscript.php
$inhalt_des_textfeldes = $_POST['meintext'];
2. GET
<form method="post" action="myscript.php">
<input type="text" name="meintext">
</form>
--> myscript.php
$inhalt_des_textfeldes = $_GET['meintext'];
---------
Noch eine Anmerkung: Auch wenn es theoretisch möglich ist die Variable $meintext im myscript.php zu verwenden würde ich ernsthaft davon abraten. Kaum landest du mal auf einem Server der noch register_globals on hat hast du einen Fehler den du länger suchst - glaub mir, ich weiß das....
MfG
Rouven
-------------------
ss:) zu:) ls:& fo:) de:< va:{ ch:? sh:) n4:( rl:? br:$ js:| ie:) fl:(