PHP POST не работает

<?php echo $_POST['ss'];?> <form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post"> <input name="ss" type="text" /> <input type="submit" name="submit"> </form> 

Этот код должен печатать все, что вводится в текстовое поле name = "ss" при нажатии кнопки submit.
Но это не печать. Работа с методом = «получить», но не с сообщением. В чем проблема.

Related of "PHP POST не работает"

Если вы просто обновляете страницу, выполните следующие действия:

 action='' 

вместо:

 action="<?php echo $_SERVER['PHP_SELF'];?>" 

Кроме того, добавьте это в строку 2, чтобы узнать, что хранится (если есть) в массиве $ _POST:

 var_dump( $_POST ); 

Хм … так что пуст на submit? Попробуйте добавить это в начало своего php-файла:

 if(empty($_SERVER['CONTENT_TYPE'])) { $_SERVER['CONTENT_TYPE'] = "application/x-www-form-urlencoded"; } 

Хорошо, теперь проверьте ваш php.ini (обычно требуется sudo или root в / etc):

 post_max_size = 8M variables_order = "EGPCS" 

У вас есть эти два правила? Если да, будьте осторожны, сколько памяти вы выделяете. Все, что может превысить 2048 МБ, может дать вам проблемы, в зависимости от ваших системных спецификаций.

ПРИМЕЧАНИЕ. Если вы вносите изменения в файл php.ini, а PHP работает как модуль apache, вам необходимо перезапустить apache. Что-то вроде:

 sudo /etc/init.d/httpd restart 

Я сломал свой метод post, когда установил post_max_size то же самое с upload_max_filesize .

Я думаю, что post_max_size должен быть меньше, чем upload_max_filesize .
Протестировано с PHP 5.3.3 в RHEL 6.0

Возможно, это связано с переписыванием правил в файле .htaccess. Добавьте это условие в файл .htaccess

 RewriteCond %{REQUEST_METHOD} !POST [NC] 

ИЛИ добавьте эту строку

  RewriteRule ^welcome_post.php - [PT] 

Сегодня мой друг столкнулся с этой проблемой. Ответ был довольно прост – в основном, вы должны использовать POST часть method="POST"

Окончательный результат должен выглядеть так:

 <?php echo $_POST['ss'];?> <form action="<?php echo $_SERVER['PHP_SELF'];?>" method="POST"> <input name="ss" type="text" /> <input type="submit" name="submit"> </form> 

Сначала убедитесь, что ваш веб-сервис (GET / POST и т. Д.) Действует по желанию с помощью Chrome Advanced Rest Client . Затем вы должны проверить свою часть PHP.

<form action="" method="post"> method = "post" важен для данных POST.

Вместо этого используйте PHP REQUEST:

 <form action="" method="post"> <input type="email" name="mail"> <input type="submit" name="submit" value="Submit"> </form> PHP: if(isset($_REQUEST['submit'])){ $val= $_REQUEST['mail']; echo $val; } 

используйте это вместо этого;

 $variable_name = $_REQUEST["ss"]; echo $variable_name; 

измените вашу IDE, я использую phpstorm, это фантастика, но когда я использую Dreamweaver, это работает, вероятно, для теста вы можете запускать свою страницу непосредственно с localhost vampserver, я меняю порт по умолчанию для apache, и я думаю, что проблема оттуда, если вы используете phpstorm или изменить порт сервера apache, изменить вашу среду IDE.