ホームページ  >  記事  >  バックエンド開発  >  PHPで検証コードが同期していない場合の対処方法

PHPで検証コードが同期していない場合の対処方法

藏色散人
藏色散人オリジナル
2021-10-15 10:48:271528ブラウズ

ページがlogin.phpページをロードするとき、画像のロードは他のタグのロードと非同期であるため、phpの検証コードは同期されません。そのため、他のタグ情報が最初にロードされ、その後、画像が読み込まれます。

PHPで検証コードが同期していない場合の対処方法

この記事の動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューター

php の検証コードが同期されていない場合はどうすればよいですか?

PHP 検証コード セッションが同期していない問題に対する完璧な解決策

すべての開発者は、奇妙な現象に悩まされているような感覚を経験したことがあります。私は言う?原因を調べようとしたが見つからず、解決しようとしたが解決できなかった 次に、奇妙な PHP 確認コードについて説明します。 。

まず写真をあげましょう。あなたも見覚えがあると思います。 。

PHPで検証コードが同期していない場合の対処方法

2 つの値が実際には異なることがわかります。異なることを確認するにはどうすればよいですか? ? ? ? ?

それ以来、私はインターネットでその理由を見つけました。ページがlogin.phpページをロードするとき、画像のロードは他のタグのロードと非同期であるため、他のタグ情報が最初にロードされます。その後、src がロードされます (画像)。同期が外れると、「検証コード」も同期しなくなります。

理由はわかりましたが、初心者として、他の人が書いた解決策を読んだ後でも、どう始めればよいのかわかりません。 。

ついに、偶然、あるプロジェクトから答えを見つけました。 。

実は解決策はとても簡単で、表示された値が同じかどうかなど気にする必要はありません。 。

login.php ログインページ

<form action="login_check.php" method="post">
验证码:
<input name="checkcode" type="text" /><img src="yan.php" alt="看不清?点击更换"    style="max-width:90%" onClick="this.src=this.src+&#39;?&#39;"  />//yan.php是生成验证码的页面。
</form>

login_check.php検証ページ


<?php 
    session_start();//开启session
    $checkcode= strtolower($_POST["checkcode"]);//获取验证码文本框的值
    echo $checkcode;//输出验证码文本框的值
    echo $_SESSION[&#39;VerifyCode&#39;]//输出yan.php输出的值
?>

送信後、login.phpと入力すると驚くでしょう。生成された検証コードの値が同じ場合、login_check.php に出力される 2 つの値は、大文字と小文字が異なることを除いて同じ文字になります。

もちろん、大文字化の問題は解決できます。

そういえば、同期外れの問題は解決したと思います

もちろん、完璧を目指す人の中には ajax の使用を好む人がいることは知っています。個人の好みにより画面が前後にちらつくため、見た目はあまり良くありませんが、ajax を使用している場合は、このページに投稿しないでください。そうしないと検証されません。非同期検証では問題ありません。外部ファイル。

推奨学習: 「

PHP ビデオ チュートリアル

以上がPHPで検証コードが同期していない場合の対処方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。