Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/254.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
HTML按钮提交未激活php代码_Php_Html_Forms_Htmlbutton - Fatal编程技术网

HTML按钮提交未激活php代码

HTML按钮提交未激活php代码,php,html,forms,htmlbutton,Php,Html,Forms,Htmlbutton,我有一个问题,我的html表单提交不正确。我是表单新手,一直在尝试启动登录脚本,但一直失败。我主要使用chrome。下面是超级简化的代码,希望能说明我的问题。我猜这段代码中的错误在扩展代码中。这是我用于登录编码的网站: 这是一件大事 这是一件了不起的事 自php://input显示表单值(根据我让您在注释中运行的测试),我们知道PHP正在正确地接收数据 默认情况下,PHP将根据需要将请求参数放置在$\u GET和$\u POST中。在你的情况下,这似乎没有发生。我建议您查看php.ini文件

我有一个问题,我的html表单提交不正确。我是表单新手,一直在尝试启动登录脚本,但一直失败。我主要使用chrome。下面是超级简化的代码,希望能说明我的问题。我猜这段代码中的错误在扩展代码中。这是我用于登录编码的网站:


这是一件大事
这是一件了不起的事

php://input
显示表单值(根据我让您在注释中运行的测试),我们知道PHP正在正确地接收数据

默认情况下,PHP将根据需要将请求参数放置在
$\u GET
$\u POST
中。在你的情况下,这似乎没有发生。我建议您查看
php.ini
文件并添加以下设置:

variables_order = "GPCS"

可能已经有一个
variables\u order
行,所以在这种情况下编辑它()。

所以在搜索之后,我忘了透露我正在使用PHPstorm。我没有想到这一点的原因是PHPstorm没有安装在我一直在使用的另一台计算机上,但是由于我在两台计算机上都使用Intellij,因此PHPstorm中的此错误会转移,因为Intellij将使用PHPstorm插件。似乎10.1-10.3在POST仍然为空的情况下,此错误仍然存在。我不确定它是否被修复,所以我转到Apache,让它来做web服务。一切都很有效,或者至少效果更好。这两种解决方案要么等待PHPstorm修复这个bug,要么最好转向Apache


让我们测试一下:在脚本顶部执行
var\u dump($\u POST)
echo file\u get\u contents($)php://input“)
,每行显示什么?我得到:array(0){}submit=submitt似乎是按按钮值进行的,但我希望它按按钮名称进行,我认为它是这样做的。我引用的网站和扩展代码没有使用按钮中的值字段,除非绝对需要,否则我希望保持这种方式。似乎if语句检查我的答案我的顶级代码在其他人的计算机上工作吗?我现在在两台计算机上尝试了这段代码,两台都没有被注释,对吗?(前面有
)。如果是,请取消注释。您还需要重新启动PHP以使任何更改生效。是的,它已经存在了。$邮政一直运作良好。我将“$\u POST['this']=6;”设置在var转储之前,将其中一个if语句设置为“if(isset($\u POST['this'])”),它就可以工作了。html表单似乎没有设置post。如果我将“$\u POST['this']=6;”移动到页面末尾,那么什么也不会发生。我可以尝试将php拆分为一个完全不同的文件,然后在按下按钮时调用,但我觉得我应该能够在一个文件中使用它们作为网站hadSetting
$\u POST['x']
在脚本中读回并不能告诉我们
$\u POST
是否有效。测试是:PHP是否用从表单接收的值自动填充它。如果在表单中添加另一个
并用文本填充,文本是否显示在:1)
var\u dump($\u POST)
2)
var\u dump($\u请求)
或3)
echo file\u get\u contents($code>php://input“)
(当然,将所有这些行放在脚本的开头)文本不会以任何形式显示。回显文件\u获取\u内容('php://input“)表示submit=submit,它指的是第一个提交按钮。其他的是空数组。这是我的ini中的行:;支付了这些阵列的注册费用,因为ENV不太常见;与其他产品一样,不建议在产品服务器上使用ENV。你;如果需要,仍然可以通过getenv()访问环境变量;需要;默认值:“EGPCS”;发展价值:“GPCS”;产值:“GPCS”;变量\u order=“GPCS”