使用php解析处理HTML文件上的大于(>)


Process the greater than (>) on an HTML file with PHP-parsing

我已经在我的.html文件上启用了php解析,并在我的一个表单上使用了Google recaptcha。

验证码如下:

...
    if ($_POST["recaptcha_response_field"]) {
        $resp = recaptcha_check_answer ($privatekey, $_SERVER["REMOTE_ADDR"], $_POST["recaptcha_challenge_field"], $_POST["recaptcha_response_field"]);
    if ($resp->is_valid) {
        echo "You got it!";
    } else {
        $error = $resp->error;
    }
}
...

代码在if ($resp->is_valid)部分卡住了,因为大于号。

我怎么能逃脱呢?

.

编辑

对不起的问题,我发现,错误不是因为HTML终止代码时,它遇到了大于号,但因为PHP不是真正解析页面。我在HTML文件上启用PHP解析的过程是通过在我的.htaccess

上添加以下代码
AddHandler php5-script .html

我在本地添加并测试了代码,PHP正在工作,但captcha当然没有显示,因为recaptcha的私钥/公钥是我正在工作的域。我将.htaccess上传到域服务器上,当我加载页面时,它显示了以下文本:

is_valid) { echo "You got it!"; } else { $error = $resp->error; } }

当时,我认为这是HTML遇到大于号时破坏我代码的问题。

所以问题实际上是下面的代码不能在服务器上工作,但在本地工作。

AddHandler php5-script .html

我找到了其他方法来启用php解析HTML文件,如:

AddType application/x-httpd-php html

但这是有问题的,当我访问这个页面时,它提示我下载或保存文件。有一个解决方案,我在论坛上读到编辑httpd.conf文件的东西,但我不能真正得到我的手在那个文件(我被拒绝访问)。所以u-uhm。叹息。

感谢您的回复。

你需要用<?php?>包装你的php代码。然后你的PHP引擎会将你的html解析为PHP代码。

正如@xomplex857在评论中所说,你有<?php开始标签吗?

我假设你有它,但你的问题是,你的IDE/编辑器是关联.html文件与HTML语法,并没有检查真正是什么里面,所以它没有意识到,你正在写嵌入式php代码里面。因此,它将其视为HTML元素的结束标记。

没有问题。php引擎会正确处理它,你不需要转义。

问题可能出在你的代码中。打开所有调试选项,查看php/apache2错误日志