<?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.
Но это не печать. Работа с методом = «получить», но не с сообщением. В чем проблема.
Если вы просто обновляете страницу, выполните следующие действия:
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.