Formularvariablen
Aus php bar
Inhaltsverzeichnis |
Einleitung
Eine der Stärken und das wofür PHP ursprünglich entwickelt wurde ist die Verarbeitung von Formulardaten, sämtliche per Formular abgesandten Daten per GET oder POST sind in einem PHP-Script durch die Superglobalen $_POST, $_GET und $_FILES verfügbar, als vierte Variante gibt es noch $_REQUEST, welche $_POST und $_GET enthält. $_GET enthält ebenfalls alle Parameter die direkt mit der URL ( z. B. index.php?variable=inhalt ) übergeben wurden.
Es gibt grundsätzlich zwei Möglichkeiten Daten an ein PHP-Script zu senden, per GET oder POST.
GET
Daten die mittels GET übergeben werden, werden einfach an die URL angehangen z. B.
URL
index.php?meine_variable=meininhalt
index.php:
1 print_r( $_GET );
Ausgabe:
Array (
'meine_variable' = 'meininhalt'
)
Daten Umwandeln für die Übergabe als URL-Parameter
ToDo: Dieser Artikel muss an dieser Stelle mit Folgendem ergänzt werden:http_build_query, urldecode, urlencode
Formular
oder im FORM-Tag gibt man method="get" an:
Formular:
<form action="index.php" method="get"> <input type="text" name="meine_variable" value="meininhalt" /> </form>
index.php:
1 print_r( $_GET );
Ausgabe:
Array (
'meine_variable' = 'meininhalt'
)
POST
Formular
Formular:
<form action="index.php" method="post"> <input type="text" name="meine_variable" value="meininhalt" /> </form>
index.php:
1 print_r( $_POST );
Ausgabe:
Array (
'meine_variable' = 'meininhalt'
)
Sockets
Quellcode:
1 function makeRequest($params) 2 { 3 $query = null; 4 5 foreach ($params as $key => $value) 6 $query = $key."=".urlencode($value)."&".$query; 7 8 $query = substr($query, 0, strlen($query)-1); 9 10 return htmlentities($query); 11 } 12 13 $host = "127.0.0.1"; 14 15 $formData = array("first" => "foo", 16 "second" => "bar"); 17 18 $body = makeRequest($formData); 19 20 $header = "POST $URI HTTP/1.1\r\n". 21 "Host: ".$host."\r\n". 22 "Content-Type: application/x-www-form-urlencoded\r\n". 23 "Content-Length: ".strlen($body)."\r\n\r\n". 24 $body."\r\n"; 25 26 $socket = fsockopen($host, 80, &$errno, &$errstr) or die ("Fehler (".$errno."): ".$errstr); 27 28 $result = array(); 29 30 fputs($socket, $header); 31 32 while (!feof($socket)) 33 $result[] = fgets($socket, 128);
FILES
GET, POST, FILES
Formular:
<form action="index.php?meine_variable=GETinhalt" method="post"> <input type="text" name="meine_variable" value="POSTinhalt" /> <input type="file" name="meine_datei" /> </form>
index.php:
1 print_r( $_POST ); 2 print_r( $_GET ); 3 print_r( $_FILES );
Ausgabe:
Array (
'meine_variable' = 'POSTinhalt'
)
Array (
'meine_variable' = 'GETinhalt'
)
Array (
'userfile' = Array (
'name' = ''
'type' = ''
'size' = ''
'tmp_name' = ''
'error' = ''
)
)
Formular-Elemente
ToDo: Dieser Artikel muss an dieser Stelle mit Folgendem ergänzt werden:Formular-Elemente
Formular:

