Seite 1 von 1

$_GET $_REQUEST $_POST ?????

Verfasst: 13.11.2003 16:14
von 18inch
Hallo!
Ich will 2 Zahlen addieren!
Das Ergebnis soll auf einer neuen Sit erscheinen!
Ich weiß dass das total einfach sein sollte, aber mir gelingt es nicht mit den globals off!!!
Hier mein coder der 1. Site:

Code: Alles auswählen

Bitte tragen Sie zwei Zahlen ein und senden Sie das Formular ab.<br>
<form action="test0r.php" method="post">
    Wert 1: <input name = "w1"><p>
    Wert 2: <input name = "w2"><p>
    <input type = "submit">
    <input type = "reset">
</form>
Die Sachen werden an test0r.php geschickt, die wie folg aussieht:

Code: Alles auswählen

<?php
   $erg = $_GET['w1'] + $_GET['w2'];
   echo "Die Summe von " . $_GET['w1'] . " und " . $_GET['w2'] . " ist " .$erg;
?>
Das Ergebnis lautet jedes mal: Die Summe von und ist 0 WIESO???
Ich habe schon viel über GET POST REQUEST und so weiter.. gelesen, jeodch gelingt es mir nicht damit zu arbeiten!!
Wäre über eine Musterlösung sehr froh!!!
Dann verstehe ich vielleicht das Prinzip!

Apache: 1.2.39
php: 4.3.4
mysql: 4.0.16

Verfasst: 13.11.2003 16:23
von PhilippK
Wenn du es mit

Code: Alles auswählen

method="post"
im Form-Tag abschickst, solltest du die Variablen auch mit

Code: Alles auswählen

$_POST
wieder in Empfang nehmen...

Gruß, Philipp

MEGALOL

Verfasst: 13.11.2003 16:41
von 18inch
Ich bin so dumm!!!

Ich hätte schwören können, daß ich alle Varianten ausprobiert habe!!!!

Wenn ich keine method angebe, dann wählt er ja automatisch GET (default)!

muss ich dann einfach alles mit $_GET[] machen???

VIELEN DANK AN PHIL!!!!

Cu Euer
18inch

Re: MEGALOL

Verfasst: 13.11.2003 17:06
von PhilippK
18inch hat geschrieben:Wenn ich keine method angebe, dann wählt er ja automatisch GET (default)!

muss ich dann einfach alles mit $_GET[] machen???
Sollte funktionieren. Ich würde allerdings die Methode explizit festlegen...

Gruß, Philipp

Verfasst: 13.11.2003 19:41
von Pyramide
du kannst auch $_REQUEST verwenden, dann ist es egal wie das Formular übertragen wird. Das ist beispielsweise dann Sinnvoll, wenn das Formular eigentlich per POST übertragen wird, aber Benutzer auch die Möglichkeit haben sollen, URLs mit Parametern weiterzugeben (Beispiel ist die Suchseite von phpBB - normalerweise wird POST verwendet, aber man kann auch http://www.phpbb.de/search.php?search_author=18inch verwenden)

Verfasst: 13.11.2003 19:45
von PhilippK
Pyramide hat geschrieben:du kannst auch $_REQUEST verwenden, dann ist es egal wie das Formular übertragen wird. Das ist beispielsweise dann Sinnvoll, wenn das Formular eigentlich per POST übertragen wird, aber Benutzer auch die Möglichkeit haben sollen, URLs mit Parametern weiterzugeben (Beispiel ist die Suchseite von phpBB - normalerweise wird POST verwendet, aber man kann auch http://www.phpbb.de/search.php?search_author=18inch verwenden)
Nur dass das bei phpBB etwas anders abläuft ;-)

Code: Alles auswählen

if ( isset($HTTP_POST_VARS['search_author']) || isset($HTTP_GET_VARS['search_author']))
{
	$search_author = ( isset($HTTP_POST_VARS['search_author']) ) ? $HTTP_POST_VARS['search_author'] : $HTTP_GET_VARS['search_author'];
}
else
{
	$search_author = '';
}
Gruß, Philipp

Verfasst: 13.11.2003 19:49
von Pyramide
Das war ja auch nur ein Beispiel, wann sowas in der Praxis nützlich sein kann.

Verfasst: 13.11.2003 22:48
von 18inch
@ Pyramide!!!

Heißt das, daß ich egal mit welcher methode die Sachen weiterverschickt werden, ich immer einfach in dem "2 tten" Formular meine Variablen mit $_REQUEST bekomme!!!??
Also muss ich nicht unter POST und GET unterscheiden!!??
Habe ich das richtig verstanden!!??

Verfasst: 14.11.2003 18:28
von Pyramide
Ja (siehe auch PHP-Handbuch)