Webdesign in Siegen

[KnowHow] POST (GET) ist auch nur ein Array

Fragen zum Thema PHP können hier gestellt werden

Moderator: Basti

[KnowHow] POST (GET) ist auch nur ein Array

Beitragvon Malte am 01.04.2005, 17:54

Erstellt mal zwei php-dokumente. In das erste kommt:

Code: Alles auswählen
<form action="[b]Name des zweiten Dokumentes.php[/b]" method="post">
<input type=hidden name="lol" value="test">
<input type=hidden name="blabla" value="blabla">
<input type=hidden name="php" value="lol">
<?
[b]//Etc. mit <input type=  (Es geht auch text, hidden, password etc.)[/b]
?>
<input type=submit>


In das zweite kommt:

Code: Alles auswählen
<?
foreach($_POST as $wert => $name) {
print "$wert = $name <br />";
}
?>


So, und jetzt staunt!
[x] <<< Nail here for new Monitor
Benutzeravatar
Malte
Mitglied
 
Beiträge: 365
Registriert: 01.04.2005, 10:27
Wohnort: Zuhause

Beitragvon Rene am 01.04.2005, 18:10

Hey Snare
Für alle Anfänger in PHP wäre hier eine kurze einführung worum es geht sehr angemessen denke ich.

Liebe Grüße
Rene
Mitglied
 
Beiträge: 1188
Registriert: 28.02.2005, 20:10
Wohnort: nähe Ravensburg

Beitragvon Malte am 01.04.2005, 18:29

Jo, also mit $_POST bzw. $_GET werden, wenn man vorher in ein Formular Werte eingegeben hat, diese Werte aus dem Speicher geholt und können weiterverwendet werden. Ob nun post oder get verwendet wird, wird vorher mit der html-attribute <forn method> festgelegt. Diese kann da z.B. lauten:
<form mehtod="post" action="server.php">
Über die action-methode kann auch gleich festgelegt werden, welches Script danach für die verarbeitung von den Daten zuständig ist. Das Script da oben holt einfach alle Daten aus dem Speicher, die der User in die Text- Passwort -File etc. Felder eingegeben hat, und gibt sie mitsamt dem namen aus.

Für weitere Fragen bin ich natürlich gerne offen!
[x] <<< Nail here for new Monitor
Benutzeravatar
Malte
Mitglied
 
Beiträge: 365
Registriert: 01.04.2005, 10:27
Wohnort: Zuhause

Beitragvon TakaBo am 26.04.2005, 17:51

Hi,

AFAIK kann man beides auch über $_REQUEST auslesen, was manchmal die Arbeit etwas erleichtert, da man nicht immer gucken muss, wo hat man mit Get und wo mit Post gearbeitet.

Gruss TB
Wir leben nicht um zu glauben, sondern um zu lernen.
Benutzeravatar
TakaBo
Mitglied
 
Beiträge: 176
Registriert: 25.04.2005, 09:18
Wohnort: Hamburg

Beitragvon Manuel am 26.04.2005, 18:38

Oh cool, das wusste ich auch noch nicht. Danke :)

PHP entscheidet also automatisch, welche Methode zum Übergeben der Variablen verwendet wurde ja? Irgendwie habe ich das Gefühl, dass PHP wirklich alles automatisch macht...wenn ich da an C++ denke... *gg*

Lg,
Manuel
Benutzeravatar
Manuel
Site Admin
 
Beiträge: 9205
Registriert: 10.12.2004, 19:29
Wohnort: Asbach

Beitragvon Malte am 26.04.2005, 19:20

Alternativ kann man auch alles in einen Array packen:

Code: Alles auswählen
<?
function pack_ein() {
$WERT = array();
foreach($_POST as $wert => $name) {
$WERT["$name"] = $wert;
}
foreach($_GET as $wert => $name) {
$WERT["$name"] = $wert;
}
}
?>
[x] <<< Nail here for new Monitor
Benutzeravatar
Malte
Mitglied
 
Beiträge: 365
Registriert: 01.04.2005, 10:27
Wohnort: Zuhause

Beitragvon Rene am 26.04.2005, 19:55

Manu man bedanke die Performance.
Wenn man PHP alles automatisch machen lässt, braucht es auch mehrere Abfragen und dergleichen und deshalb mehr Zeit.
lg
Rene
Mitglied
 
Beiträge: 1188
Registriert: 28.02.2005, 20:10
Wohnort: nähe Ravensburg

Beitragvon moq am 22.08.2005, 17:00

ja also die tatsache das post, bzw. get ein array ist lässt sich natürlich auch bei formularen besonders gut einsetzen: eben mit so einer for-each-schleife:
Code: Alles auswählen
foreach($_POST as $key=>$value) $key = $value;


durch diese codezeile kann man nun einfach die eigentlich variablennamen, also z.b. $name verwenden und muss nicht auf $_POST['name'] zurückgreifen. ist also schon ne sehr praktische sache
moq
Mitglied
 
Beiträge: 2
Registriert: 22.08.2005, 14:55


Zurück zu PHP

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste