2017-01-07 5 views
-1

Ну, это странно, но моя форма не передает данные POST.Форма не отправляет сообщение на php

Вот форма

<form method="POST" action="process/processor.php"> 
<input name="name3" type="text"> 
<input type="submit" name="submit"> 
</form> 

Вот PHP

<?php  
if(isset($_POST['submit']) AND $_SERVER['REQUEST_METHOD'] == "POST"){ 

$name = $_POST['name3']; 

echo $name; 

} 
else{ 
    echo 'lol'; 
} 

?> 

Вот где он получает удивительно

var_dump($_POST) дает array(0) { } с другой стороны, var_dump($_GET) дает rray(2) { ["name3"]=> string(6) "fghjmk" ["submit"]=> string(6) "Submit" }

Похоже, что я получаю данные с GET и никаких данных с POST. Это довольно странно для меня. Какие-либо предложения?

И ничего вторит за переменной $name

+0

Использование === равно. if (isset ($ _ POST ['submit']) AND $ _SERVER ['REQUEST_METHOD'] === "POST") { – xFighter

+0

Это не решит проблему – Neville

+0

взгляните на это http://stackoverflow.com/ Вопросы/10943060/isset-postsubmit-vs-serverrequest-method-post – xFighter

ответ

0
<form method="POST" action="process/processor.php"> 
<input name="name3" type="text"> 
<input type="submit" name="submit"> 
</form> 

instead of <input type="submit" name="submit">, use <input type="submit" name="submit" value='submit'> 

the $_POST['submit'] might be empty using <input type="submit" name="submit">. so, i think is not getting into the block code. 
Смежные вопросы