PHP - Vérifier si un membre existe ds la bdd

Résolu
bobox87 Messages postés 32 Date d'inscription   Statut Membre Dernière intervention   -  
bobox87 Messages postés 32 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Voilà j'ai une page ou on peut consulter le profil d'un membre et pour des raisons de sécurité je voudrais imposer un message d'erreur si le membre n'existe pas. Voici mon code:

// On protège l'id du membre
$_GET['id'] = mysql_real_escape_string($_GET['id']);
							
//On récupère les infos du membre
$requete = mysql_query('SELECT EXISTS (SELECT * FROM membres WHERE membre_id='.$_GET['id'].') AS membre_exists');
$donnees = mysql_fetch_array($requete);
if ($donnees['membre_exists']) {
	echo $donnees['membre_pseudo'];
}	
else {
	echo 'Ce pseudo n\'existe pas';
}


Avec ce code si un utilisateur rentre un id au hasard dans la barre d'adresse de son navigateur et que l'id en question n'existe pas dans la base de données il se voit afficher un message d'erreur. Par contre si l'id existe il m'affiche une erreur Undefined index: membre_pseudo. C'est la 1ère fois que j'utilise le SELECT EXISTS peut être que j'ai fais une erreur! Et si il y a un autre moyen de vérifier ça m'intéresse aussi ;)

Merci d'avance!

A voir également:

4 réponses

Neliel Messages postés 6146 Date d'inscription   Statut Contributeur Dernière intervention   1 693
 
Bonjour,

Personnellement, je n'utilisais pas SELECT EXIST mais un simple select, exemple d'une table avec comme clé primaire "id".


<php 

$pseudo = "Frank"; 
$req = "select id from membre where pseudo='$pseudo'"; 
$res = mysql_query($req); 
$donnee = mysql_fetch_array($res); //Dans l'optique où il ne peut pas avoir de doublon dans le champ pseudo. 

if($donnee['id']=='') 
{ 
     echo "le pseudo est introuvable"; 
} 
else 
{ 
... 
} 
?> 



"Trotti Trotta, Monsieur P, il y a des anges qui veulent un bisou..."
"Même les joujou de Monsieur P ont besoin de joujou"
3