ホームページ  >  記事  >  バックエンド開発  >  PHPの秘密解決策

PHPの秘密解決策

WBOY
WBOYオリジナル
2016-06-13 13:37:07880ブラウズ

php

PHP コードの理解できない秘密
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--><?    
    session_start();
    $p1=$_POST[pin]."_";
    $p2=$_SESSION[pin];
    echo $p1;
    echo $p2;
    echo $_POST[pin]=$_SESSION[pin];--返回1
    if($p1==$p2)
    {
        $_SESSION[pin]=true;
        echo "<font color='#009900'>验证码正确</font>";
    }else
    {
        echo "<font color='#FF0000'> 您输入的验证码不正确'</font>";
    }
        
?>



内部の $_POST[pin] は aaa、$_SESSION[pin] の値は bbb
どう見ても等しくありません。 echo $_POST[pin]=$_SESSION[pin]; は 1 を返します。
何が問題だったのかを調べてください

------ 解決策----------------------
まず、$_POST[pin]が aaa $_SESSION であるかどうかを確認する必要があると思います[ピン] bbb ですか

そうであれば、echo $_POST[ピン]==$_SESSION[ピン] は 1 を返しません。

すべてが正しい場合は、手を洗ってください、来てください戻って新しいファイルを作成し、コードを再度入力してテストします。ははは
------解決策---------
定数配列でない場合は、それが最適です内側に引用符を追加します。効率は N 倍以上悪くなります。これは良い習慣ではありません。
------解決策---------
コード全体を見てください
If echo $_POST [pin] == $_SESSION[pin]; //Return 1
$p1==$p2 は true ではありません。 $p1=$_POST[pin]."_";
があるため、$_SESSION[pin] には true が割り当てられません
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。