0

.htmlファイルでPHP 解析を有効にし、フォームの 1 つでGoogle recaptchaを使用しています。

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 は機能していましたが、recaptcha の秘密鍵/公開鍵は私が取り組んでいるドメインのものであるため、もちろんキャプチャは表示されませんでした。ドメイン サーバーに をアップロードし.htaccess、ページをロードすると、次のテキストが表示されました。

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

その時点で、大なり記号に遭遇したときに HTML がコードを壊す問題だと思いました。

したがって、実際の問題は、サーバーでは機能せず、ローカルで機能する以下のコードです。

AddHandler php5-script .html

次のような HTML ファイルで PHP 解析を有効にする他の方法を見つけました。

AddType application/x-httpd-php html

しかし、これには問題がありました。ページにアクセスすると、ファイルをダウンロードまたは保存するように求められます。httpd.conf ファイルで何かを編集するためにフォーラムで読んだ回避策がありますが、そのファイルを実際に手に入れることはできません (アクセスが拒否されました)。ええと。はぁ。

お詫びと返信に感謝します。

4

2 に答える 2

0

@ xomplex857 がコメントで言ったように、<?php開始タグはありますか?

私はあなたがそれを持っていると思いますが、あなたの問題は、IDE/エディタが.htmlファイルを HTML 構文に関連付けていて、実際に何が入っているかを調べていないことです。つまり、HTML 要素の終了タグとして扱っています。

問題ありません。PHP エンジンはこれを正しく処理します。エスケープする必要はありません。

問題はおそらくコードの欠陥にあります。可能なすべてのデバッグ オプションを有効にします。php/apache2 エラー ログを参照してください。

于 2013-06-11T10:18:40.567 に答える
0

<?phpPHP コードをandでラップする必要があります?>。次に、PHP エンジンが html を PHP コードとして解析します。

于 2013-06-11T10:15:56.403 に答える