ホームページ >バックエンド開発 >PHPチュートリアル >SESSION と検証コードに関する奇妙な問題
サーバーは Apache でインストールされています
ウェブサイトは ThinkPHP フレームワークを使用して開発されており、検証コード画像が付属しています
会員登録ページは検証コードを使用しており、HTML ページ:
登録時に、プログラムは検証コード イメージのコードを決定します。
if($ _SESSION['verify'] != md5($_POST['verify']))
exit('検証コードエラー!');
テストしたのでプログラムには問題はないはずですローカルでもサーバーでも正常です
しかし、今日誰かが、登録時に確認コードが正しく入力されたのに、結果は「確認コードが間違っています」と表示されたと言いました。
彼は、IE と FF ブラウザでは動作しないと言いました...
私もテストして新しいメンバーを登録し、他の人もメンバーとして登録しましたが、同じように成功しました。
私のような状況では何が問題だったのか分かりません。
Web環境(apache+php)に何か問題があるのでしょうか?
一部の人には許可されていません
問題がクライアントに関連しているか、すべてクライアントにあることを示します
一部の人には許可されていません
という意味です問題はクライアントに関連しているか、すべてクライアント端末にあります
さて、この友人は登録するためにコンピューターを変更しましたが、それでも確認コードが間違っていると言っていました。
奇妙なことに、クライアント側のネットワークの問題でしょうか?そのため、表示される認証コードの画像は実際のものと異なります
一文追加
if(isset($_SESSION['verify']) && $_SESSION['verify']!=NULL && $_SESSION['verify ']!= ''){
//検証値が等しいかどうかの判断を続ける
}else{
echo 'session[verify] 値が存在しないか空である場合、サーバーのセッション機能が正常であるかどうかを確認します。 ';
}
文を追加します
if( isset($_SESSION['verify']) && $_SESSION['verify']!=NULL && $_SESSION['verify']!=' '){
//検証値が等しいかどうかを判断し続けます ;
}else{
echo 'session[verify] 値が存在しないか空であるため、サーバーのセッション関数が正常であるかどうかを確認します
}
なるほど、この方法は良いですね、試してみます。
SESSION['verify'] 値が存在しないか空の場合は、サーバーの問題であると判断できるはずです
それはブラウザの設定に問題があると判断できます。
文を追加します
if(isset($_SESSION['verify']) && $_SESSION['verify']!=NULL && $_SESSION['verify']!=''){
/ /検証値が等しいかどうかを判断し続けます
}else{
echo 'session[verify] 値が存在しないか空です。サーバーのセッション機能が正常かどうかを確認してください';友人がログインすると、「session[verify] ]値が存在しないか空です。サーバーのセッション機能が正常か確認してください。」というメッセージが表示されました。
本当にサーバー側に問題があるのでしょうか?
サーバーは Apache でインストールされています
会員登録ページは検証コードを使用しており、HTML ページ:
登録時に、プログラムが検証コード画像のコードを決定します。 ...
元の投稿者 ユーザーのブラウザが正しく動作できないかどうか、COOKIE が無効になっているかどうかを知ることができます
ホストは、ユーザーのブラウザが正しく動作できないかどうか、COOKIE が無効になっているかどうかを知ることができます
では、私の現在の状況は Web 環境に問題があるのでしょうか?このような場合は、環境を変更する予定です
Firefox では正常に動作しますが、他のブラウザではセッションが未定義と表示されます