Problème dans ma fonction d'inscription.

nanti Messages postés 59 Date d'inscription samedi 14 avril 2007 Statut Membre Dernière intervention 2 avril 2010 - 15 avril 2008 à 11:19
nanti Messages postés 59 Date d'inscription samedi 14 avril 2007 Statut Membre Dernière intervention 2 avril 2010 - 17 avril 2008 à 16:15
Bonjour à tous,

C'est un nouveau problème qui m'oblige à m'adresser à vous...

En effet, j'ai codé cette fonction d'inscription :

function Inscr() {
   

$Syntaxe='#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,5}$#'; // pour la vérification de l'email

if (!preg_match($Syntaxe,$_POST['email'])) {

echo 'Votre adresse mail est invalide';

}

    elseif (isset($_POST['envoi-inscr'])) {
       
        $sql=mysql_query('SELECT * FROM Membres WHERE Pseudo <> "'.$_POST['login-inscr'].'" OR Pass <> "'.$_POST['pass-inscr'].'" OR Mail <> "'.$_POST['email'].'"');
           
            if ($query=mysql_num_rows($sql)==1) {
                       
            mysql_query('INSERT INTO `Membres`(`Nom`, `Prenom`, `Login`, `Pass`, `Mail`) VALUES ("'.$_POST['nom'].'", "'.$_POST['prenom'].'", "'.$_POST['login-inscr'].'", "'.$_POST['pass-inscr'].'", "'.$_POST['email'].'")') OR die(mysql_error());
            echo 'Vous &ecirc;tes bien enregistr&eacute;(e)
';
            echo '[index.php?page=accueil Retour &agrave; l&#146;accueil]';
           
            }
                           
            else {
                               
            echo 'Vous &ecirc;tes d&eacute;j&agrave; inscrit
';
            echo 'Veuillez vous connecter

';
           
            }
   
    }
   
}

Le problème est que lors que le formulaire est envoyé, il ne fait pas ma vérification du elseif et qu'il me renvoie directement sur le else ! Ce qui signifie que même s'il s'agit d'un nouveau membre, il est considéré comme déjà inscrit !!!

Je ne vois pas trop d'où vient l'erreur, alors please heeeeelp !!!!

Merci d'avance !!!

6 réponses

Utilisateur anonyme
15 avril 2008 à 15:22
salut

c'est sensé faire quoi ça ?
if ($query=mysql_num_rows($sql)==1) {
0
nanti Messages postés 59 Date d'inscription samedi 14 avril 2007 Statut Membre Dernière intervention 2 avril 2010
15 avril 2008 à 15:28
Ben justement, là je crois que je me suis un peu planté !!!

J'ai corrigé ça par : if ($query=mysql_fetch_array($sql)) { ...

Et ça ne fonctionne toujours pas !!! Je suis toujours confronté au même problème !!!!

Là je bug !!! Help !!!!

Si tu as une 'tite soluce pour moi, TheGorgo... sans quoi, merci de t'être penché sur mes quelques lignes problématiques !!!! C'est cool !!!!
0
Utilisateur anonyme
15 avril 2008 à 16:06
essaye ca
$query = mysql_query($sql);
if(mysql_num_rows($query)==1)
0
nanti Messages postés 59 Date d'inscription samedi 14 avril 2007 Statut Membre Dernière intervention 2 avril 2010
15 avril 2008 à 16:14
Grrrrrr !!!

Toujours eul'même soucis !!!! C'est à arracher les ch'veux d'un ch'ti cette affaire, heiiin !!!!

Je ne vois vraiment pas pourquoi il me zappe une partie du code !!!

En tout cas, encore merci à toi TheGorgo !!!!!
0

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

Posez votre question
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
15 avril 2008 à 22:20
Hello,

je ne comprends pas la logique de ton code moi.
Tu fais une requête pour vérifier si tu as 1 ligne où tu n'as pas SOIT le login, SOIT le mot de passe, SOIT l'email, et si tu en trouves 1 exactement, tu insères tes données ?
Heu...
je ne suis pas spécialement en forme ce soir mais je ne suis pas sûr que tu ne te sois pas planté là...
0
nanti Messages postés 59 Date d'inscription samedi 14 avril 2007 Statut Membre Dernière intervention 2 avril 2010
17 avril 2008 à 16:15
Ce message pour vous dire que j'ai résolu mon soucis !

En fait, il s'agissait d'un soucis dans mon code et dans mon placement des if -> elseif...

Merci à ceux qui se sont intéressés à ma petite galère !!!
0
Rejoignez-nous