Veröffentlicht 29. Oktober 200618 j Hallo, wenn ich ein Formular via POST schicke muessen die Daten der Felder irgendwie uebertragen werden. Werden die Daten in der Felder in einer Variable uebertragen oder wird der Wert jedes Feldes einzeln uebertragen?
30. Oktober 200618 j Willst Du jetzt höhren wie der Webserver das macht oder wie Du darauf zugreifen kannst? Frank
30. Oktober 200618 j Der Webserver macht das gar nicht. Der Webserver ist so eingestellt, dass er für bestimmte Dateien (meist .php) die angeforderte Datei erst durch ein anderes Modul laufen läßt, bevor die Datei ausgeliefert wird. Dieses Modul (mod_php) läßt z.B. den Text der Datei durch den PHP-Interpreter laufen und wertet außerdem alle Headerdateien der Anfrage aus. (noch davor, der Interpreter hat dann darauf auch Zugriff. Wie genau das abläuft weiß ich aber nicht) Im Header steht dann z.B.: Content-Type: application/x-www-form-urlencoded Content-Length: 59 PostVariable1=InhaltVariable1&PostVariable2=InhaltVariable2 In der Anfrage wurde also ein Inhalt mitgegeben (POST). Das ist im Prinzip nichts anderes als wenn du das als GET machts, nur hängt es eben nicht an der URL sondern wird im Anfrage-Header gesendet. Diesen gesendeten Inhalt teilt das Modul erstmal in verschiedene Key=Value Werte auf (Der Trenner kann hierbei in der config-Datei bestimmt werden, ist aber praktisch immer ein &). Diese Werte werden dann in ein Array geschrieben ($_POST in dem Fall). Bei GET passiert nichts anderes, nur werden dafür nicht die Headerdaten genommen, sondern dir URL. Andere superglobale Arrays entsprechend den Werten, die da eben drinstehen. EDIT: Die Anfrage an den Server ist im Falle eines POST-Aufrufs eigentlich nichts anderes als eine Antwort vom Server. Nur Sender und Empfänger sind halt vertauscht. Wenn du eine Seite vom Webserver aufrufst, steht der Seiteninhalt eben im Content.
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.