Pb control if else....pour inscription

laubro Messages postés 186 Date d'inscription jeudi 23 décembre 2004 Statut Membre Dernière intervention 9 juillet 2013 - 15 avril 2005 à 17:58
Mike SN53477 Messages postés 26 Date d'inscription dimanche 27 mars 2005 Statut Membre Dernière intervention 27 août 2005 - 28 avril 2005 à 22:24
Bonjour,

je vousdrais en fait lors de l'envoi d'un form d'inscription (pseudo, pass et mail) faire un control voir si le pseudo n'existe pas déja dans la base, au quel cas un message demanderait de choisir un autre pseudo

sauf que j'y arrive pas tout a fait, je suis pas sur d'utiliser la bonne fonction :

la partie 1 fonctionne
le else non

alors que je l'utilise sur d'autres cripts......, je mets ce qui reste du script après 36 000 essais different :

<?php


include("conf2.php");
$db = mysql_connect($serveur, $user, $password);
mysql_select_db($base);

$sql = "SELECT * FROM membres where pseudo='$pseudo'";
$req = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error());


while($data = mysql_fetch_assoc($req))
{


if($data['pseudo']='$speudo')
{
echo "<center>La place est prise ! !
<script="Javascript"><form></form></script></center>";
}
else
{


echo "Votre pseudo : $pseudo
";
echo "Votre mot de passe : $password
";
echo "Votre e-mail : $mail
";
echo "<form method='post' action='inscription.php'>
";


}
}
// on ferme la connexion à mysql
mysql_close();
?>

merci
Laubro

9 réponses

JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 2
15 avril 2005 à 18:46
Lu,

Essaye comme ca :


<?php



include('conf2.php');

$db = mysql_connect($serveur, $user, $password);

mysql_select_db($base);



$sql = 'SELECT pseudo, password, mail FROM membres where pseudo="', $pseudo, '" ';

$req = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error());



while($data = mysql_fetch_assoc($req)) {

if($data['pseudo'] == $_POST['pseudo']) {

echo 'La place est preise !!
';

} else {

echo 'Votre pseudo : $pseudo


Votre mot de passe : $password


Votre e-mail : $mail


<form method="post" action="inscription.php">

, $pseudo, '" />

, $password, '" />

, $mail, '" />



</form>';

}

}

// on ferme la connexion à mysql

mysql_close();

?>
<hr style="width: 100%; height: 2px;">Si ma reponse te convient, merci de l'accepter !
0
laubro Messages postés 186 Date d'inscription jeudi 23 décembre 2004 Statut Membre Dernière intervention 9 juillet 2013
15 avril 2005 à 19:05
merci déjà pour ton aide,

bon, j'avais deja essayé un truc de ce genre là, et ça ne marche toujours pas
il ne lit pas le else on dirait, ça fait comme avant, si le pseudo existe, j'ai bien le message avec le bouton reverse, mais pour un nouveau pseudo "page blanche" ! ! !

Laubro
0
laubro Messages postés 186 Date d'inscription jeudi 23 décembre 2004 Statut Membre Dernière intervention 9 juillet 2013
15 avril 2005 à 19:14
je viens en fait de faire un essai inverse, en disant si le resultat est inférieur à 1 (et non sup à 0) pour voir la réaction, car inf de 1 = 0 et moins...) il aurait du m'afficher le bouton reverse et le texte deja pris, hors rien, on dirait que cet argument : recherche dans pseudo si tu trouve $pseudo, si tu trouve 0 $pseudo = afffiche xxxx, ne convient pas....? etonnant non
Laubro
0
Mike SN53477 Messages postés 26 Date d'inscription dimanche 27 mars 2005 Statut Membre Dernière intervention 27 août 2005
15 avril 2005 à 20:50
Pour comparer deux valeurs utilise le signe ==
if($data['pseudo']=='$speudo')
Idem qu'en C et C++
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
16 avril 2005 à 16:31
Salut,



$req = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error());


à remplacer :



$req = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error().'

');




Ensuite pour la comparaison c'est le signe === (triple égal) quand tu compares deux variables.



Ici nous avons deux variables de type string, ça convient donc
parfaitement.(le double égal est réservé à deux variables ayant un type
différent mais la même valeur).



a +

<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
0
laubro Messages postés 186 Date d'inscription jeudi 23 décembre 2004 Statut Membre Dernière intervention 9 juillet 2013
18 avril 2005 à 11:56
Merci pour votre aide, mais cela ne marche pas non plus avec vos codes, je comprends pas
alors j'ai contourner le probleme en generant une erreur=1 et erreure = = 1 et ça marche, plus compliqué mais bon
mais je comprends toujours pas

Laubro
0
JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 2
18 avril 2005 à 14:35
Re,

Oula, Mike ... if($data['pseudo']=='$speudo') ... Tu crois que ca va marcher ? lol


if($data['pseudo']==$speudo) la ca ira mieux


Et avec un $_POST ?

$sql = 'SELECT pseudo, password, mail FROM membres where pseudo="' .
$_POST['pseudo']
. '" ';


Et de plus javais fais ue erreur ... la virgule, ce n'est pas une echo ... donc faut mettre un point !


<hr style="width: 100%; height: 2px;">Si ma reponse te convient, merci de l'accepter !
0
laubro Messages postés 186 Date d'inscription jeudi 23 décembre 2004 Statut Membre Dernière intervention 9 juillet 2013
18 avril 2005 à 15:16
Salut,

pour les points j'avais deduit tout seul 'faute de frappe', et puis juste pour rire, c'est Speudo, mais pSeudo ! ! ! les gars.....

je vais essayer ton idée jojo, on verra si ça me simplifie la tache

Laubro
0
Mike SN53477 Messages postés 26 Date d'inscription dimanche 27 mars 2005 Statut Membre Dernière intervention 27 août 2005
28 avril 2005 à 22:24
Bien vu JoJo738 !
Je n'avais pas fait attention à ce qui suivait la comparaison.
0
Rejoignez-nous