Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/266.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
为什么.php文件会像html文件一样打开,而不是执行?_Php_Forms_Action - Fatal编程技术网

为什么.php文件会像html文件一样打开,而不是执行?

为什么.php文件会像html文件一样打开,而不是执行?,php,forms,action,Php,Forms,Action,我有一个试图执行的.php文件。它在html表单的“操作”部分中引用 由于某种原因,当表单提交时,它会在浏览器中打开.php文件,就好像它是一个html页面(一个空白页面) php文件没有任何异常之处,但我不确定它是否能够执行 我的开始表单标签如下所示: 我错过了什么?…嗯。。。php 使用:不要直接在浏览器中打开html文件。提交表单时,浏览器会将数据发布到操作属性指定的URL,作为该页面请求的一部分 您位于my_script.php的页面应该会输出一些HTML 如果在查看此新页面的源代码时

我有一个试图执行的.php文件。它在html表单的“操作”部分中引用

由于某种原因,当表单提交时,它会在浏览器中打开.php文件,就好像它是一个html页面(一个空白页面)

php文件没有任何异常之处,但我不确定它是否能够执行

我的开始表单标签如下所示:

我错过了什么?…

嗯。。。php


使用:不要直接在浏览器中打开html文件。

提交表单时,浏览器会将数据发布到
操作
属性指定的URL,作为该页面请求的一部分

您位于
my_script.php
的页面应该会输出一些HTML



如果在查看此新页面的源代码时看到PHP代码,则不会将PHP配置为在服务器上进行解析。

很可能您的脚本正在执行。默认情况下,将发送HTTP头,指示脚本的内容是HTML,因此浏览器将这样处理它。但如果您实际上没有发送任何输出,它将显示为空白页

如果希望表单执行某些操作但不打开新页面,那么可以使用AJAX在不离开页面的情况下提交表单数据。或者,您可以只在脚本末尾添加

echo 'Finished :)';

这样你就知道它已经结束了,大概做了些什么。

谢谢@Brad。我看不到我的php代码,只是一个空白窗口。若我查看源代码,那个么也并没有任何内容,但无论如何也不应该有。php脚本应该设置一个cookie,然后使用
标题(“Location:$HTTP_REFERER”)将您发送回上一页。这就是其中的全部内容,但正如我所说,我不确定它是否能走到这一步——脚本没有运行,它正在打开?…@matt:如果你得到一个空白窗口,那么你的脚本中很可能有某种致命错误,您的PHP已关闭显示错误/错误报告,因此不会显示错误消息。您是否安装了Web服务器?从本地文件系统调用.php脚本(检查
文件的地址栏://
)是行不通的。如果你得到的是一个真正的空白页面(查看源代码),那么在php.ini中将
错误报告提升到
E_ALL
,或者检查服务器
错误.log
,查看致命错误。谢谢@Mario,我计算出发生了什么(见下面的评论),我只是在php.net上读到了这一点,这可能是问题所在:将用户代理引用到当前页面的页面地址(如果有)。这是由用户代理设置的。并非所有的用户代理都会设置此功能,有些代理还提供了修改HTTP_REFERER的功能。简言之,它真的不可信。是的,就是这样。我输入了一个绝对url,这次它运行正常。我也有同样的想法。在结尾重复了一些东西,事实上确实如此——这帮助我解决了这个问题(见上面我最后的评论)。谢谢