PHP form提交后,php代码无法解析

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP form提交后,php代码无法解析相关的知识,希望对你有一定的参考价值。

使用的post方法 <form action="results.php" method="post">
result.php代码如下:
<html>
<head>
<title> 搜索结果显示页</title>

</head>
<body>
<H1>简单商城搜索结果</H1>
<?
$searchtype=$_POST['searchtype'];
$searchterm=$_POST['searchterm'];
//if(!$searchtype||!$searchterm)
//echo"You have not entered search details.Please bo back and try again.";
//exit;
//
var_dump($searchterm);
?>
</body>
</html>

跳转后html区域显示正常,php区域空白,但是如果查看源代码可以看见php代码,单独测试result.php也正常,会显示null,但是填写表单,提交之后跳转的话,php区域就不显示了。。。
已经打开short_open_tag =on,

从问题描述可以看出,这段代码实际上可以解析执行,php区域空白的原因可能不是没有解析。

据我的判断,如果传过来的$_POST[\'searchtype\']、$_POST[\'searchterm\']是空值的话,var_dump($searchterm) 也不会有数据输出,最终的结果导致php区域空白。追问

不是哎,我是用的var_dump(),就算是空值也会显示null的,结果是php区域这边什么都没有,一片空白。。

追答

那你试试把<? 修改成 <?php试试,也可能你设置的 short_open_tag =on 没起作用。

追问

终于发现不是php.ini的配置问题,而是我使用的环境的问题。。Zend Studio和Apatana运行html的时候会在地址前面加上8000。。所以html可以运行,但是php无法解析,因为我的php监听的是80端口。。。现在在努力尝试解决这个问题。。。不管怎样,还是谢谢你了。。

参考技术A 你在浏览器查看源代码能看见PHP代码 说明你的PHP 代码显示的有问题,<? ……?>第一个问号之后是不是少了个"php"……追问

这个是用的简单模式,我把short_open_tag=on,设为on之后可以这样写

追答

都选最佳回答了 解决问题了吧

php页面表单提交form校验后再提交,非ajax提交

form表单校验后,在执行提交动作:

<form method="post" action="{:U(‘Custom/addmsg‘)}" id="massage">
                    <ul>
                        <li><input name="name" maxlength="18" type="text" placeholder="您的姓名" class="text1" /></li>
                        <li><input name="mobile" maxlength="11" type="text" placeholder="您的手机" class="text1" /></li>
                        <li><textarea name="message" maxlength="300" class="text2" placeholder="您的留言"></textarea></li>
                    </ul>
                    <input type="text" readonly value="提交" class="sub-btn message" />
                </form>

js:

//message表单非ajax提交
    $(".message").click(function(){
        var name = $.trim($("input[name=‘name‘]").val());
        var mobile = $.trim($("input[name=‘mobile‘]").val());
        var message = $.trim($("textarea[name=‘message‘]").val());
        if(name && mobile && message){
            $("#message").submit();
    })

 

以上是关于PHP form提交后,php代码无法解析的主要内容,如果未能解决你的问题,请参考以下文章

jQuery.form.js 使用ajaxForm、ajaxSubmit提交表单上传文件后服务器端返回json数据IE浏览器无法解析。

php提交执行成功后扣除积分?

访问php程序无法解析,排查步骤

求助:PHP多表单提交问题,一个页面提交N多个表单

Laravel Passport 得到“无法解析您的密钥,原因:升级到 PHP8.0 后出现“”错误

apache下php无法解析直接显示源代码解