php post失效的解决办法:1、修改代码为“action=''”;2、执行“var_dump($_POST);”语句;3、修改php.ini文件;4、重新启动apache即可。
本文操作环境:windows7系统、PHP7.1版,DELL G3电脑
php post 失效怎么办?
具体问题描述:
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”中输入的内容。
但是它不能打印。使用method =“ get”,但不使用post,这是什么问题。
解决办法:
如果您只是刷新页面,请执行以下操作:
action=''
代替:
action="<?php echo $_SERVER['PHP_SELF'];?>"
另外,将其添加到第2行以查看$ _POST数组中存储了什么(如果有的话):
var_dump( $_POST );
嗯…所以提交时是空的?尝试将其添加到您的php文件的顶部:
if(empty($_SERVER['CONTENT_TYPE'])) { $_SERVER['CONTENT_TYPE'] = "application/x-www-form-urlencoded"; }
好的,现在检查您的php.ini(通常在/ etc中需要sudo或root):
post_max_size = 8M variables_order = "EGPCS"
您设置了这两个规则吗?如果是这样,请注意要分配多少内存。取决于系统规格,任何超过2048MB的空间都可能给您带来麻烦。
注意:如果您对php.ini文件进行了更改,并且PHP作为apache模块运行,则需要重新启动apache。类似于以下内容:
sudo /etc/init.d/httpd restart
推荐学习:《PHP视频教程》