2016-08-27 11 views
0

2つの文字列を比較しようとしています。そのうちの1つはセッション(id_usr)で、もう1つはHTTP GET REQUESTで送信されます。2つの文字列を比較しようとしています

まず、ユーザーがログインしていることを確認してから、ログインしているユーザーがGETリクエストで送信したものと同じユーザーIDを持っているかどうかを確認します。私はそれを得るとき

$id_user = $_GET['id_user']; 
$id_user_session = isset($_SESSION['id_usr']); 

if(isset($_SESSION) && strcmp($id_user, $id_user_session) == 0) { 
    echo 'x'; 
} 

両方の値が良いように見えますが、比較機能strcmpは動作しません。

何が欠けていますか?

+0

空白が見えるように印刷しましたか? – John3136

+0

この 'if($ id_user == $ id_user_session)で得られるもの{ echo 'Equal'; } else {echo 'Not Equal'; } ' – C2486

答えて

2

変更

$id_user_session = $_SESSION['id_usr']; 

$id_user_session = isset($_SESSION['id_usr']); 

また、あなたが$_SESSIONにアクセスしようとする前にsession_start();を使用してセッションを開始していることを確認してください。

+0

これは動作します、ありがとう! –

+0

@AleixGalletSegarra関数 'isset()'は 'true'または' false'を返します。つまり、 '$ id_user_session'はおそらく' true'です。なぜこれが機能していないのだろうと思っている場合に備えて、これを追加したかっただけです。 –

+0

OKだから、ユーザーがセッションを持っているかしていないかどうかを伝えるだけで、分かります。ありがとう! –

関連する問題