PHP : variable dans le sql

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

Je me suis mis au codage pour la création d'un site ... je test sur wamp ...
J'ai créé un formulaire d'inscription et j'ai voulu intégré une vérification du pseudo pour que l'utilisateur voit s'il est déjà utilisé avant d'envoyer le formulaire ...

voici mon code php

32 ............. <?php
33 ............. $libre = "" ;
34 ............. $pseudo = "" ;
35 ............. if ( isset($_POST['pseudoentrer']) and $_POST['pseudoentrer'] != "")
36 ............. {
37 ................... $pseudo = $_POST['pseudoentrer'];
38 ................... mysql_connect("127.0.0.1", "root", "");
39 ................... mysql_select_db("st");
40 ................... $libre = mysql_query("SELECT Id FROM membres WHERE Pseudo='.$pseudo'");
41 ................... if($libre >= 0)
42 ................... {
43 .......................... ?> <img src="image/button off.png" alt="pseudo déjà utilisé" > <?php
44 ................... }
45 ................... else
46 ................... {
47 .......................... ?> <img src="image/button on.png" alt="pseudo libre" > <?php
48 ................... }
49 ................... mysql_close();
50 ............ }
51 ............ ?>

Je pense que le prob viens de la ligne 40

Quand j'essaie la page sur localhost, j'ai beau mettre n'importe quel pseudo, qu'il soit ou pas dans la table, le résultat m'affiche systématiquement "pseudo déjà utilisé"

Merci d'avance si vous trouvez l'origine du prob ...
A voir également:

4 réponses

Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
Bonsoir,

3 erreurs:
pour la requette il manquait un . essayes cette forme
$libre = mysql_query("SELECT Id FROM membres WHERE Pseudo='".$pseudo."'"); 


tu testes:

if($libre >= 0) c'est a dire si superieur ou égal à 0 ?????

ensuite mysql_query te renvoie une ressource, pas me nombre d'enregistrement trouvés

il faut faire
$nb_trouve=mysql_num_rows($libre);


et ensuite tester par:

 if($nb_trouve>0){
etc...

1
bissdebrazza Messages postés 2065 Date d'inscription   Statut Contributeur Dernière intervention   712
 
salut!
peut être ceci:<code>$libre = mysql_query("SELECT Id FROM membres WHERE Pseudo='.$pseudo.'"); <code>
Bonne soirée!
0
Kishikage Messages postés 11 Date d'inscription   Statut Membre Dernière intervention   3
 
le prob viens de cette ligne ... J'ai essayé de multiple combinaison ...
Je viens d'essayer celle là ... le problème persiste ...
0
Kishikage Messages postés 11 Date d'inscription   Statut Membre Dernière intervention   3
 
Merci ....
J'avais essayé cette forme là ... mais c'est la dernière erreur qui faussait tout ...

Erreur : if($libre >= 0)
Correction : if($libre > 0)

Je comprend pas comment j'ai pu faire une tel erreur ...

Encore merci ... c'est résolu ...
0