Partage
  • Partager sur Facebook
  • Partager sur Twitter

vérification pseudo indisponible marche pas

    17 août 2018 à 21:12:23

    bonjour 

    je souhaiterais verifier si le pseudo et disponible ou pas

    il me sort l'erreur :

    Fatal error: Call to a member function execute() on boolean in C

    pourtant mon code ce tiens

    if(isset($_POST['valider']))
    {
    	$pseudo=$_POST['pseudo'];
    	$pass=$_POST['pass'];
     $mdp2=$_POST['mdp2'];
    $bdd=new mysqli('localhost', 'root', 'root', 'conexion' ) ;	
     if($pass!=$mdp2)
    {
    	echo"vos mdp ne corresponde pas";
    }
    else
    {
    	header('location:connect1.php');
    }
    
     $query=$bdd->prepare('SELECT * FROM information WHERE pseudo=:pseudo');
        $query->execute(array(':pseudo'=>$pseudo));
        if($query->rowCount()<1)
    	{
            
        }
        else
        {
            echo"pseudo indisponible";
        }
    	}


    je ne vois pas ou et l'erreur 

    merci cordialement

    -
    Edité par BoubouAlba 17 août 2018 à 21:12:47

    • Partager sur Facebook
    • Partager sur Twitter
      17 août 2018 à 21:33:18

      bonjour,

      ligne 13, si les deux pseudo sont identiques, tu redirige vers une autre page... du coup la suite de ton code ne s’exécute pas.

      • Partager sur Facebook
      • Partager sur Twitter
      pensez au "+1" si ça vous a aider, ça fait toujours plaisir ;)
        17 août 2018 à 21:50:03

        Bonjour,

        Je pense aussi que tu mélanges mysqli_ et PDO.Fais une connexion PDO à la place, et active les erreurs par la même occasion (voir ma signature).

        • Partager sur Facebook
        • Partager sur Twitter
          19 août 2018 à 20:46:42

          bonjour 

          du coups j'ai fais une connexion en PDO et sa marche nickel merci beaucoups

          par contre j'ai un souci quand je redirige la page

          du coup ma condition pour veriffier les mot de passe il la calcule pas

          c'est a dire  que si le pseudo il et dispo 

          il redirige la page meme si les mot de passe ne sons pas identique 

          voici mon code:

          if(isset($_POST['valider']))
          {
          	$pseudo=$_POST['pseudo'];
          	$pass=$_POST['pass'];
           $mdp2=$_POST['mdp2'];
          $bdd = new PDO("mysql:host=localhost;dbname=conexion", 'root', 'root');
            
            $query=$bdd->prepare('SELECT * FROM information WHERE pseudo=:pseudo');
             
             $query->execute(array(':pseudo'=>$pseudo));
              if($query->rowCount()<1)
          	{
                  header('location:connect1.php');
              }
               else
              {
                  echo"pseudo indisponible";
              }
           
           if($pass!=$mdp2)
          {
          	echo"vos mdp ne corresponde pas";
          }
          else 
          {
          	
          }
          
          
          	}


          si quelqu'un peut me le corriger 

          merci cordialement

          • Partager sur Facebook
          • Partager sur Twitter
            19 août 2018 à 20:56:41

            C'est normal, encore une fois tes vérification sont mal placé :)

            Déplace ton if($pass != $mdp2) (et sont else) dans ton if(query->rowCount()<1)

            -
            Edité par Koyuki Tanaka 19 août 2018 à 20:56:52

            • Partager sur Facebook
            • Partager sur Twitter
              19 août 2018 à 21:02:10

              Je te laisse regarder la doc de rowCount : http://php.net/manual/fr/pdostatement.rowcount.php
              • Partager sur Facebook
              • Partager sur Twitter
                19 août 2018 à 21:02:50

                 $query=$bdd->prepare('SELECT * FROM information WHERE pseudo=:pseudo');
                   
                   $query->execute(array(':pseudo'=>$pseudo));
                    if($query->rowCount()<1)
                	{
                		if($pass!=$mdp2)
                {
                	echo"vos mdp ne corresponde pas";
                }
                else 
                {
                        header('location:connect1.php');
                    }
                     else
                    {
                        echo"pseudo indisponible";
                    }
                 

                marche pas non plus il redirige la page meme si les MDP sons pas identique

                merci cordialement

                • Partager sur Facebook
                • Partager sur Twitter
                  19 août 2018 à 21:09:53

                  Euh .. regarde bien ton code :)
                  • Partager sur Facebook
                  • Partager sur Twitter
                    20 août 2018 à 20:18:45

                    bonjour

                    pouvez vous me montré dans quelle sens faut ecrire le code 

                    car je suis totalement perdu

                    merci cordialement

                    • Partager sur Facebook
                    • Partager sur Twitter
                      20 août 2018 à 21:17:29

                      Franchement ? Je t'invite à relire le tuto :)
                      https://openclassrooms.com/fr/courses/918836-concevez-votre-site-web-avec-php-et-mysql/912046-les-conditions

                      regarde bien l'ordre de tes conditions, les ouvertures et fermetures, la logique .. Là c'est le bordel c':
                      • Partager sur Facebook
                      • Partager sur Twitter

                      vérification pseudo indisponible marche pas

                      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                      • Editeur
                      • Markdown