Vérifier l'existence d'un membre

Résolu/Fermé
mathilda0 Messages postés 9 Date d'inscription lundi 23 avril 2012 Statut Membre Dernière intervention 28 avril 2012 - 23 avril 2012 à 23:13
Wave Style 974 Messages postés 902 Date d'inscription dimanche 27 septembre 2009 Statut Membre Dernière intervention 21 janvier 2015 - 24 avril 2012 à 18:05
Bonjour,

Malgré les nombreux forums que j'ai visité, je n'arrive toujours pas à régler mon pb :/
Débutante en php et mysql pas facile...
Je m'explique, je veux vérifier que le pseudo est bien présent dans ma table MEMBRE
Donc voici ma requête:

$q= "SELECT * FROM MEMBRE WHERE pseudo='".$pseudo."'";
$res = $c->query($q);

if (!$res) echo "ce membre existe";
else echo "ce membre n'existe pas";

Et le problème est que quelque soit l'existence ou non du membre, c'est toujours le même "echo" qui apparaît...
J'espère enfin trouver une solution à mon problème
Merci d'avance
A voir également:

2 réponses

Wave Style 974 Messages postés 902 Date d'inscription dimanche 27 septembre 2009 Statut Membre Dernière intervention 21 janvier 2015 76
Modifié par Wave Style 974 le 24/04/2012 à 08:17
Ou a essayer :

//Declaration de la variable
$pseudo = $_POST['pseudo'];

//Requete qui va afficher un nombre
$nombrepseudo = mysql_result(mysql_query('SELECT COUNT(*) FROM membres WHERE pseudo = "'.$word.'"'), 0);

if($nombrepseudo != 0)
{
//Le pseudo existe
}
else
{
//Le pseudo existe pas
}
1
informapierre Messages postés 418 Date d'inscription vendredi 30 novembre 2007 Statut Membre Dernière intervention 17 juin 2012 49
24 avril 2012 à 11:06
C'est ce que j'allais poster ;)
C'est la méthode la plus rapide au niveau de l'exécution.
Par contre attention je voit que dans ton script la variable $pseudo n'est pas protégé, que la variable que tu cherche sur la table n'est pas le pseudo et que membre ne prend pas de s ;)
0
mathilda0 Messages postés 9 Date d'inscription lundi 23 avril 2012 Statut Membre Dernière intervention 28 avril 2012
24 avril 2012 à 11:17
Ca ne fonctionne pas :/ ca me renvoit toujours la même chose :/

Le fait que pseudo ne soit pas ma clé primaire dans ma bdd est un problème?
0
informapierre Messages postés 418 Date d'inscription vendredi 30 novembre 2007 Statut Membre Dernière intervention 17 juin 2012 49
24 avril 2012 à 11:19
tu a crée une connection a te base de donnée au moins avant de lancer sa, tu pourrait nous donne ton script complet ?
0
mathilda0 Messages postés 9 Date d'inscription lundi 23 avril 2012 Statut Membre Dernière intervention 28 avril 2012
24 avril 2012 à 11:23
Oui j'ai bien crée une connexion, voici le code complet:
<?php

include ("connect.php");
try {
// Connexion
$c=new PDO("mysql:host=$host;dbname=$dbname", $login, $password);
// echo "<p>Connexion réussie.</p>\n";


//Declaration de la variable
$pseudo = $_POST['pseudo'];

//Requete qui va afficher un nombre
$nombrepseudo = mysql_result(mysql_query('SELECT COUNT(*) FROM MEMBRE WHERE pseudo = "'.$pseudo.'"'), 0);

if($nombrepseudo != 0)
{
echo 'Votre pseudo est valide';//Le pseudo existe
}
else
{
echo 'Un membre possède ce pseudo';//Le pseudo existe pas
}


}
catch (PDOException $erreur)
{
echo "<p>Erreur: ". $erreur->getMessage() . " </p>\n";
}

?>
0
informapierre Messages postés 418 Date d'inscription vendredi 30 novembre 2007 Statut Membre Dernière intervention 17 juin 2012 49
24 avril 2012 à 11:43
eu... tu nous fait un peu un mélange PDO et fonction php de base la ^^
essai de plus cibler tes essais pour pouvoir savoir d'ou vient vraiment l'erreur.

Voilà un code qui devrait marcher
<?php 

include ("connect.php"); 
// Connexion à la base
mysql_connect('adresse du serveur','utilisateur','mdp');


//Declaration de la variable 
$pseudo = $_POST['pseudo']; 

//Requete qui va afficher un nombre 
$nombre_pseudo = 'SELECT COUNT(*) AS nb FROM membre WHERE pseudo = "'. $pseudo.'"'; // on compose la requete 
$requete = mysql_query($nombre_pseudo)or exit(mysql_error()); // on execute la requete
$nb = mysql_fetch_assoc($requete);

if($nb['nb'] == 1) { // si le nombre est 1
echo 'Votre pseudo est valide';//Le pseudo existe 
 }
else { 
echo 'Un membre possède ce pseudo';//Le pseudo existe pas
}

?>
0
ludo1325 Messages postés 149 Date d'inscription samedi 27 juin 2009 Statut Membre Dernière intervention 23 juin 2015 33
24 avril 2012 à 08:04
Salut, supposons que ton code html est
<input type="text" name="pseudo">


Dans ton php:
$req = $bdd->prepare('SELECT * FROM MEMBRE WHERE pseudo = :pseudo');
$req->execute(array('pseudo'=> $_POST['pseudo']));
$nb_resultats_recherche_membre=$req->fetch();
if(!$nb_resultats_recherche_membre) {
echo 'Votre pseudo est valide' //Si personne d'autre possède le pseudo
}else{
echo 'Un membre possède ce pseudo' //Si le pseudo existe déjà
}


Je te promet pas à 100% que sa marche, mais normalement sa devrait marcher.
Tiens moi au courant :)
0
mathilda0 Messages postés 9 Date d'inscription lundi 23 avril 2012 Statut Membre Dernière intervention 28 avril 2012
24 avril 2012 à 11:20
J'obtiens cette erreur :

Fatal error: Call to a member function prepare() on a non-object
0