2016-08-27 2 views
0

J'essaie de comparer deux chaînes. L'un d'eux est une session (id_usr), l'autre est envoyé via un HTTP GET REQUEST.Essayer de comparer deux chaînes

D'abord, je vérifie si l'utilisateur est connecté et ensuite je veux vérifier si l'utilisateur qui a ouvert une session a le même identifiant que celui envoyé via la requête GET.

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

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

Les deux valeurs semblent bonnes quand je les obtenir, mais la fonction de comparaison strcmp ne fonctionne pas.

Que manque-t-il?

+0

Avez-vous imprimé de telle sorte que vous puissiez voir les espaces? – John3136

+0

ce que vous obtenez avec ce 'si ($ id_user == $ id_user_session) { echo 'Equal'; } else {echo 'pas égal'; } ' – C2486

Répondre

2

changement

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

à

$id_user_session = $_SESSION['id_usr']; 

également vous assurer que vous avez commencé votre session avec session_start(); avant d'essayer d'accéder $_SESSION.

+0

Cela fonctionne, merci! –

+0

@AleixGalletSegarra La fonction 'isset()' retourne 'true' ou' false'. Ce qui signifie que $ id_user_session est probablement vrai. Je voulais juste ajouter ceci, juste au cas où vous vous demandez pourquoi cela ne fonctionne pas. –

+0

ok, donc je vous dis juste si un utilisateur a ou non une session, je comprends. Merci! –