0

少し混乱しています。おそらく私だけが非常に厚いです!基本的に、私は次の機能を持っています:

// Check if a verified email
function verified($username)
{
    global $conn;
    if($username == '') { return; } 
    $q = $conn->prepare("SELECT * FROM users WHERE Username='".$username."' AND Verified = 1");
    $q->execute();

    return $q->rowCount();
}

そして、スクリプトに次のコードがあります。

if (verified($_SESSION['Username'] == '0')

今、私は上記のように関数をエコーアウトし、本来0あるべきように戻りますが、何らかの理由で、上記が実際に0. 私は何を間違っていますか?!

4

3 に答える 3

5

私はあなたが意味すると思います:

if (verified($_SESSION['Username']) == '0')

$_SESSION['Username']... の後の閉じ括弧に注意してください。

于 2013-02-28T13:12:43.020 に答える
0

この行は正しくありません:

if (verified($_SESSION['Username'] == '0')

$_SESSION['Username'] の後に ')' がありません。結果は整数(行数)になるため、「」は必要ありません

if (verified($_SESSION['Username']) == 0)
于 2013-02-28T13:16:48.990 に答える
0

コピペで間違えたらOK、そうでなければチェック

if (検証済み ($_SESSION['ユーザー名'] ) == '0')

['Username'] の後の適切な ' ) ' を確認してください

次にsession_start();$_SESSION['Username']

于 2013-02-28T13:22:56.877 に答える