Page 1 sur 1

Problème vérifier qu'une entrée n'est pas déjà présente BDD

Posté : 13 janv. 2015, 03:34
par deediezi
Bonsoir à tous ! Je fais une page d'inscription pour mon site et je bloque ! Je veux vérifier si le nom et le pseudo de l'utilisateur n'est pas déjà dans la base de donné mais je trouve pas .. :S !

Voici mon code : Mon problème est à l'endroit ou j'ai mis le if ???????????????????????? ! Merci de votre aide ^^'
<?php

                            $error = FALSE;
                            $errorMSG = '';
                            $errorMSG2 = '';
                            $errorMSG3 ='';
                            $errorMSG4 ='';
                            $errorMSG5 ='';
                            $errorMSG7 = '';

                            if (isset($_POST['submit']))

                            {
                                if (isset($_POST['login']) && isset($_POST['pass']) && isset($_POST['pass2']) && isset($_POST['pseudo']) && isset($_POST['email']) && isset($_POST['question']) && isset($_POST['reponse']) && isset($_POST['rule']) 
                                    && !empty($_POST['login']) && !empty($_POST['pass']) && !empty($_POST['pass2']) && !empty($_POST['pseudo']) && !empty($_POST['email']) && !empty($_POST['question']) && !empty($_POST['reponse']) && !empty($_POST['rule']))

                                {
                                   if ($_POST['pass'] == $_POST['pass2'])

                                   {

                                    if(preg_match('`^[[:alnum:]]{6,40}$`', $_POST['login']) && preg_match('`^[[:alnum:]]{6,40}$`', $_POST['pass']) && preg_match('`^[[:alnum:]]{6,40}$`', $_POST['pseudo']) && preg_match('`^[[:alnum:]]{6,40}$`', $_POST['question']) && preg_match('`^[[:alnum:]]{6,40}$`', $_POST['reponse']))

                                    {
                                        if (preg_match("#\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b#i",$_POST["email"]))

                                        {
                                            
                                        if ????????????????????????????????????????????????????                                         

                                        {

                                        $sql = $bdd->prepare('INSERT INTO accounts (account, pass, email, question, reponse, pseudo) VALUES (:account, :pass, :email, :question, :reponse, :pseudo)');

                                        $sql->execute(array(
                                            'account' => $_POST['login'],
                                            'pass' => $_POST['pass'],
                                            'email' => $_POST['email'],
                                            'question' => $_POST['question'],
                                            'reponse' => $_POST['reponse'],
                                            'pseudo' => $_POST['pseudo']
                                        ));

                                        echo 'Vous êtes désormais inscrit sur le serveur !';

                                        }

                                        else

                                        {
                                            $error = TRUE;
                                            $errorMSG7 = 'Nom d\'utilisateur ou pseudo déjà utilisé.';
                                        }

                                        }

                                        else

                                        {
                                            $error = TRUE;
                                            $errorMSG5 = 'Mauvaise syntax pour l\'adresse email\nL\'adresse email doit absolument commencer par une lettre ou un chiffre et contenir un @ \n';
                                        }

                                    }

                                    else

                                    {
                                        $error = TRUE;
                                        $errorMSG3 = 'Le nom d\'utilisateur, mot de passe, pseudo, question secrète et réponse secrète doivent posséder une longueur de 6 à 40 caractères et ils ne peuvent contenir que des lettres/chiffres \n';
                                    }

                                   }

                                   else

                                   {
                                    $error = TRUE;
                                    $errorMSG2 = 'Les mots de passe ne correspondent pas ! \n';
                                   }
                                }

                                else

                                {
                                    $error = TRUE;
                                    $errorMSG = 'Veuillez remplir tout les champs du formulaire et vérifier que vous acceptez le règlement ! \n';
                                }
                                
                            }

                            ?>

							<br /><form action="inscription.php" method="POST">
							<p>Nom d'utilisateur :</p>
								<input type="text" class="form" name="login" id="form" value="" maxlength='25'  />
							<p>Mot de passe :</p>
								<input type="text" class="form" name="pass" id="form" value="" maxlength='25'  />
							<p>Confirmer le mot de passe :</p>
								<input type="text" class="form" name="pass2" id="form" value="" maxlength='25' />
							<p>Pseudo :</p>
								<input type="text" class="form" name="pseudo" id="form" value="" maxlength='25' />
							<p>Adresse mail :</p>
								<input type="text" class="form" name="email" id="form" value="" />
							<p>Question secrète :</p>
								<input type="text" class="form" name="question" id="form" value="" />
							<p>Réponse secrète :</p>
								<input type="text" class="form" name="reponse" id="form" value="" />
						</center>
							<br /><p style="float:left; color:red; margin-left:50px;">En cochant cette case,<br /> j'accepte le règlement :</p><br /> <input type="checkbox" value="true" name="rule"><br />
								<br />
							<center>
								<input type="submit" class="valider" name="submit" id="submit" value="Inscription">
							</center>
                    	</form> 



					</center>	
                    </div>

Re: [RESOLU] Problème vérifier qu'une entrée n'est pas déjà

Posté : 13 janv. 2015, 10:23
par Elie
$sql = "SELECT * FROM accounts WHERE account LiKE '".$_POST['login']."'";
$req = $bdd->query($sql);
if($req->rowCount() == 0) {