Wenn der Benutzer auf Senden klickt, sendet es sowohl eine Post-UND-Anfrage an das Skript. Der Post gibt ein 302 Found zurück, und das Get gibt 200 zurück, aber das print_r zeigt ein leeres Array an, nachdem das Formular übermittelt wird. Ich kann nicht herausfinden, warum das passiert.HTML Formular senden erhalten und posten. Umleiten mit 302
Dies läuft auf einer AWS Linux Instanz mit PHP 5.4 und Apache 2.4. Hier
ist der Code:
<?php
print_r($_REQUEST);
?>
<!doctype html>
<html>
<meta charset="UTF-8" />
<title>Login</title>
<head>
</head>
<body>
<p>Please login:</p>
<form action="<?php echo $_SERVER['SCRIPT_NAME'];?>" method="post">
<table>
<tr>
<td>
username
</td>
<td>
<input type="text" name="username" id="username" style="width:400px;"> (case sensitive)
</td>
</tr>
<tr>
<td>
password
</td>
<td>
<input type="password" name="password" id="password" style="width:400px;">
</td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" value="submit">
</td>
</tr>
</table>
</form>
</body>
</html>
Wenn ich einreichen klicken, das ist, was ich in den FF Entwickler-Tool finden Sie unter:
Ein HTML-Formular _can not_ submit "mit zwei Methoden gleichzeitig." Ziemlich sicher, es ist POST-Anfrage von Ihrem Formular/Browser gesendet, 302 Antwort vom Server gesendet, und dann eine GET-Anfrage durch den Browser. Nun, warum der 302 auftritt, ist aus dem bisher gezeigten Code nicht klar. Für den Anfang würde ich überprüfen, was das Aktionsattribut des Formulars tatsächlich enthält. – CBroe
"Es sendet sowohl eine Post und eine Anfrage an das Skript" Nein, das ist definitiv nicht passiert. Überprüfen Sie Ihre Annahmen erneut. – Brad
Sie können erwägen, die Aktion "action" leer zu lassen. Es wird an die aktuelle URL gesendet. – Brad