$_POST bleibt bei Formularen leer

Alles, was PHP betrifft, kann hier besprochen werden.

$_POST bleibt bei Formularen leer

Postby clarion » 06. December 2004 17:28

Hallo,

vielleicht kann mir einer helfen. Ich habe aus Sicherheitsgründen in php.ini die registerglobals auf off umgestellt.

Ich habe folgendes Testskript ausprobiert, um die Übergabe von Variablen mit $_POST zu testen. Leider klappt es nicht:
Code: Select all
<html>
<head>
<title>Personalized Hello World</title>
</head>
<body>

<?php
 print_r($_POST);
 print_r($_REQUEST);
 if (!empty($_POST['name'])) {
    echo "Greetings,{$_REQUEST['name']},and welcome.";
 }
?>

<form action="<?php print $_SERVER['PHP_SELF']?>" method="post">
Enter your name: <input type="text" name="name">
<input type="submit">
</form>

</body>
</html>


Bei diesem Skript kommt immer nur die Eingabeaufforderung und nicht das" "Greeting....

Die REQUEST und POST-Arrays bleiben immer leer.

GRuß Claron
clarion
 
Posts: 13
Joined: 23. March 2004 15:45

Postby Jan H. Krüger » 06. December 2004 21:36

Eingetippt und geht.
Das Eingeabeformular wird allerdings stehts angegeben, auch wenn der Name korrekt übernommen wurde und das Greetings ausgegeben wurde.
Das liegt allerdings nicht an den Inhalten von POST und REQUEST sondern daran das du in deinem Code da Eingabeformular immer ausgibst.
Jan H. Krüger
 
Posts: 152
Joined: 24. October 2004 19:42

Postby clarion » 07. December 2004 09:48

Hallo Jan,

ja bei mir geht es eben nicht. Bei mir springt das Programm nie in die IF-Anfrage rein.

GRuß
Clarion
clarion
 
Posts: 13
Joined: 23. March 2004 15:45

Postby Wiedmann » 07. December 2004 10:48

Die Datei nennt sich aber auch "foo.php" und du rufst sie über "http://localhost/foo.php" auf?
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby clarion » 07. December 2004 10:59

Hallo,

nein ich rufe sie von einem anderen Rechner über https:xxx.xx.xx/Dateiname.php4 auf

xxx.xx.xx Ist die IP vom Server (mit SSL), auf die das Skript liegt.

Gruß
Clarion
clarion
 
Posts: 13
Joined: 23. March 2004 15:45

Postby Wiedmann » 07. December 2004 11:25

Sorry. Kann ich nicht nachvollziehen.
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby clarion » 07. December 2004 11:55

Kann das etwas mit folgenden EInstellungen in den php.ini Variablen zu tun haben?

variables_order="ES"
register_globals=OFF
Diese beiden Variablen habe ich geändert und seitdem funzt es nicht mehr. Ich benutze im php 4.3.3.

Ich bin langsam am Verzweifeln.

Gruß
Clarion
clarion
 
Posts: 13
Joined: 23. March 2004 15:45

Postby Wiedmann » 07. December 2004 12:09

variables_order="ES"

Tjo. Ohne Wissen und Hanbuchlektüre... Was soll ich da noch sagen.

Mit dieser Einstellung kennt PHP jedenfalls nur noch die globalen Variabeln Environment und Server.

Mach dir einen Gefallen und stell das wieder auf "EGPCS".
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby clarion » 07. December 2004 13:56

Hallo Wiedmann,

ich habe diesen Tip eben aus dem Handbuch: Programmieren mit PHP voon O'Reilly. Da steht auch, dass es mit $_REQUEST dann funzen müsste (Seite 312). Trotzdem Danke.

GRuß
Clarion
clarion
 
Posts: 13
Joined: 23. March 2004 15:45

Postby Wiedmann » 07. December 2004 14:20

Da steht auch, dass es mit $_REQUEST dann funzen müsste (Seite 312). Trotzdem Danke.

Also O'Reilly hätte ich bessere Autoren zugetraut...

$_SERVER['REQUEST'] wird gefüllt durch die Variablen $_SERVER['GET'], $_SERVER['POST'] und $_SERVER['COOKIE']. Da sämtliche dieser 3 Variablen bei dir deaktiviert sind, muss $_SERVER['REQUEST'] demzufolge leer sein.

Ergo: Du kannst in deinem Script weder $_SERVER['REQUEST'] noch $_SERVER['POST'] benutzten. Du könntest bei der Einstellung, dir in deinem Script, die Parameter höchstens aus $_ENV['QUERY_STRING'] oder $_SERVER['argv'] herausholen.
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany


Return to PHP

Who is online

Users browsing this forum: No registered users and 3 guests