2016-03-22 1 views
0

Das Problem:

$ _POST Array leer ist, obwohl Datei ("php: // input"); korrekt die Werte zurückgibt (siehe unten)

Meine Form:

<form class="form-horizontal" name="loginform" method="post" action="<?= $_SERVER['PHP_SELF']; ?>"> 
    <div class="form-group"> 
     <label for="">Username</label> 
     <input class="form-control" type="text" step="any" name="username" value=""> 
    </div> 
    <div class="form-group"> 
     <label for="">Password</label> 
     <input class="form-control" type="password" step="any" name="password" value=""> 
    </div> 
    <div class="form-group"> 
     <input class="btn btn-warning" type="submit" name="submit" value="Submit"> 
    </div> 
</form> 

<?php 
$mypostdata = file("php://input"); 
print "<pre>"; 
var_dump($_POST); 
var_dump($mypostdata); 
print "</pre>" 
?> 

Meine Ausgabe:

array(0) { 
} 
array(1) { 
[0]=> 
string(46) "username=aravind&password=secret&submit=Submit" 
} 
+1

Überprüfen Sie den folgenden Thread: http://stackoverflow.com/questions/1282909/php-post-array-empty-upon-form-submission –

Antwort

1

Wenn ich die Datei mithilfe von PhpStorm zugegriffen (Dritte Anwendung) auf den Link Es wurde verwendet ("http: // localhost: 63342 /emitest/loginform.php**") und $ _POST hat nicht funktioniert.

Wenn ich auf die Datei durch Eingabe von Link ("http: // localhost/emitest/loginform.php") direkt im Browser zugegriffen wird, funktioniert $ _POST.

Also, Verzeichnis/Port ist das Problem, und das ist, wo $ _POST Daten verliert.

-1

Ihre PHP-Code hier ausgeführt wird, unabhängig von der Form .

Sie haben es zu umarmen in einem, wenn:

<?php 
if (isset($_POST['submit'])) { // i.e. if the submit button has been clicked 
    $mypostdata = file("php://input"); 
    print "<pre>"; 
    var_dump($_POST); 
    var_dump($mypostdata); 
    print "</pre>" 
} 
?> 

Weitere Informationen über Formulare mit PHP: http://php.net/manual/en/tutorial.forms.php oder http://www.html-form-guide.com/php-form/php-form-action-self.html

Verwandte Themen