Aucune base n'a été sélectionnée demande d'aide svp merci

Résolu
Nouvelle_Informaticienne Messages postés 173 Statut Membre -  
Nouvelle_Informaticienne Messages postés 173 Statut Membre -
Bonjour
j'ai un petit / grand probleme avec ce code il m'affiche ca :


OOOK
toto
Aucune base n'a été sélectionnée


donc il se bloque dans la ligne suivante :

$sql = mysql_query($sql)or die(mysql_error());

je ne sais plus la source d erreur !!!

<?php
session_start();

$BDD = mysqli_connect("localhost","root","","pst");
mysqli_select_db($BDD,"pst");

// On met les variables utilisé dans le code PHP à FALSE (C'est-à-dire les désactiver pour le moment).
$error = FALSE;
$registerOK = FALSE;
echo "OOOK <br>";

    // On regarde si l'utilisateur est bien passé par le module d'inscription
    if(isset($_POST["enregistrer"])){
        
        // On regarde si tout les champs sont remplis, sinon, on affiche un message à l'utilisateur.
        if($_POST["nom"] == NULL OR $_POST["prenom"] == NULL OR $_POST["mp"] == NULL){
            
            // On met la variable $error à TRUE pour que par la suite le navigateur sache qu'il y'a une erreur à afficher.
            $error = TRUE;
            
            // On écrit le message à afficher :
            $errorMSG = "Tout les champs doivent être remplis !";
                
        }

        
        // Sinon, si les deux mots de passes correspondent :
        else if($_POST["mp"] == $_POST["mpp"]){
            
            // On regarde si le mot de passe et le nom de compte n'est pas le même
            if($_POST["pseudo"] != $_POST["mp"]){
                
                // Si c'est bon on regarde dans la base de donnée si le nom de compte est déjà utilisé :
                $sql = "SELECT pseudo_user FROM user WHERE  pseudo_user= '".$_POST["pseudo"]."' ";
    echo("toto<br>");
    
                $sql = mysql_query($sql)or die(mysql_error());
    
        echo("toto<br>");

            // On compte combien de valeur à pour nom de compte celui tapé par l'utilisateur.
            $sql = mysql_num_rows($sql);

               // Si $sql est égal à 0 (c'est-à-dire qu'il n'y a pas de nom de compte avec la valeur tapé par l'utilisateur
               if($sql == 0){
               
                  // Si tout va bien on regarde si le mot de passe n'exède pas 60 caractères.
                  if(strlen($_POST["mp"] < 60)){


je vous remercie infiniment bonne soiree

2 réponses

  1. Nouvelle_Informaticienne Messages postés 173 Statut Membre 3
     
    Bonjour
    Voila j ai modifier mon code et ça marche bien maintenant
    je vous remercie Monsieur

    <?php
    
    session_start();
    $hote = 'localhost';
    $utilisateur = 'root';
    $mdp = '';
    $nombdd = 'pst'; // Nom de la base de données
    $bdd = mysqli_connect($hote, $utilisateur, $mdp, $nombdd);
    if (!$bdd) {
        echo 'Erreur de connexion (' . mysqli_connect_errno() . ') ' . mysqli_connect_error();
    }
    
    // On met les variables utilisé dans le code PHP à FALSE (C'est-à-dire les désactiver pour le moment).
    $error = FALSE;
    $registerOK = FALSE;
    echo "1 <br>";
    
        // On regarde si l'utilisateur est bien passé par le module d'inscription
        if(isset($_POST["enregistrer"])){
            
            // On regarde si tout les champs sont remplis, sinon, on affiche un message à l'utilisateur.
            if($_POST["nom"] == NULL OR $_POST["prenom"] == NULL OR $_POST["mp"] == NULL){
                
                // On met la variable $error à TRUE pour que par la suite le navigateur sache qu'il y'a une erreur à afficher.
                $error = TRUE;
                
                // On écrit le message à afficher :
                $errorMSG = "Tout les champs doivent être remplis !";
                    
            }
    
            
            // Sinon, si les deux mots de passes correspondent :
            else if($_POST["mp"] == $_POST["mpp"]){
                
                // On regarde si le mot de passe et le nom de compte n'est pas le même
                if($_POST["pseudo"] != $_POST["mp"]){
                    
                    // Si c'est bon on regarde dans la base de donnée si le nom de compte est déjà utilisé :
                    $sql = "SELECT pseudo_user FROM user WHERE  pseudo_user= '".$_POST["pseudo"]."' ";
    				echo("toto<br>");
    				
                    $sqll = mysqli_query($bdd,$sql)or die(mysqli_error($bdd));
    				
    								echo("2<br>");
    
                // On compte combien de valeur à pour nom de compte celui tapé par l'utilisateur.
                $sqlll = mysqli_num_rows($sqll);
    
                   // Si $sql est égal à 0 (c'est-à-dire qu'il n'y a pas de nom de compte avec la valeur tapé par l'utilisateur
                   if($sqlll == 0){
                   
                      // Si tout va bien on regarde si le mot de passe n'exède pas 60 caractères.
                      if(strlen($_POST["mp"] < 60)){
                      
                         // Si tout va bien on regarde si le nom de compte n'exède pas 60 caractères.
                         if(strlen($_POST["pseudo"] < 60)){
                         
                            // Si le nom de compte et le mot de passe sont différent :
                            if($_POST["pseudo"] != $_POST["mp"]){
                         
                               // Si tout ce passe correctement, on peut maintenant l'inscrire dans la base de données :
                               $sql = "INSERT INTO user (nom_user,prenom_user,pseudo_user,mp_user) VALUES ('".$_POST["nom"]."','".$_POST["prenom"]."','".$_POST["pseudo"]."','".$_POST["mp"]."')";
                               $sql = mysqli_query($bdd,$sql);
                           echo "3 <br>";
        
                               // Si la requête s'est bien effectué :
                               if($sql){
                               
                                  // On met la variable $registerOK à TRUE pour que l'inscription soit finalisé
                                  $registerOK = TRUE;
                                  // On l'affiche un message pour le dire que l'inscription c'est bien déroulé :
                                  $registerMSG = "Inscription réussie ! Vous êtes maintenant membre du site.";
                                  
                                  // On le met des variables de session pour stocker le nom de compte et le mot de passe :
                                  $_SESSION["pseudo"] = $_POST["pseudo"];
                                  $_SESSION["mp"] = $_POST["mp"];
                                echo "4 <br>";
      
                                  // Comme un utilisateur est différent, on crée des variables de sessions pour "varier" l'utilisateur comme ceci :
                                  // echo $_SESSION["login"]; (bien entendu avec les balises PHP, sinons cela ne marchera pas.
                               
                               }
                               
                               // Sinon on l'affiche un message d'erreur (généralement pour vous quand vous testez vos scripts PHP)
                               else{
                               
                                  $error = TRUE;
                                  
                                  $errorMSG = "Erreur dans la requête SQL<br/>".$sql."<br/>";
                               echo "5 <br>";
    
                               }
                            
                            }
                            
                            // Sinon on fais savoir à l'utilisateur qu'il a mis un nom de compte trop long.
                            else{
                            
                               $error = TRUE;
                               
                               $errorMSG = "Votre nom compte ne doit pas dépasser <strong>60 caractères</strong> !";
                               
                               $pseudo = NULL;
                               
                               $mp = $_POST["mp"];
                            echo "6 <br>";
    
                            }
                         
                         }
                      
                      }
                      
                      // Si le mot de passe dépasse 60 caractères on le fait savoir
                      else{
                      echo "7 <br>";
    
                         $error = TRUE;
                         
                         $errorMSG = "Votre mot de passe ne doit pas dépasser <strong>60 caractères</strong> !";
                         
                         $pseudo = $_POST["pseudo"];
                         
                         $mp = NULL;
                      
                      }
                   
                   }
                   
                   // Sinon on affiche un message d'erreur lui disant que ce nom de compte est déjà utilisé.
                   else{echo "OOOK <br>";
    
                   
                      $error = TRUE;
                      
                      $errorMSG = "Le nom de compte <strong>".$_POST["pseudo"]."</strong> est déjà utilisé !";
                      
                      $pseudo = NULL;
                      
                      $mp = $_POST["mp"];
                   
                   }
                }
                
                // Sinon on fais savoir à l'utilisateur qu'il doit changer le mot de passe ou le nom de compte
                else{echo "OOOK <br>";
    
                    
                    $error = TRUE;
                    
                    $errorMSG = "Le nom de compte et le mot de passe doivent êtres différents !";
                    echo "OOOK <br>";
    
                }
                
            }
          
          // Sinon si les deux mots de passes sont différents :      
          elseif($_POST["mp"] != $_POST["mp"]){
          echo "OOOK <br>";
    
             $error = TRUE;
             
             $errorMSG = "Les deux mots de passes sont différents !";
             
             $pseudo = $_POST["pseudo"];
             
             $mp = NULL;
          
          }
          
          // Sinon si le nom de compte et le mot de passe ont la même valeur :
          elseif($_POST["pseudo"] == $_POST["mp"]){
          echo "OOOK <br>";
    
             $error = TRUE;
             
             $errorMSG = "Le nom de compte et le mot de passe doivent être différents !";
          
          }
            echo $errorMSG;
        }
    
    ?>
    


    bonne journée
    0
  2. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
     
    Bonjour,

    Pour utiliser mysqli ... il ne suffit pas de prendre le code écrit pour mysql et y mettre un i ........

    Pour se connecter à une BDD en mysqli il faut utiliser le code suivant :

    en style "objet"
    $hote = 'localhost';
    $utilisateur = 'username';
    $mdp = 'motdepasse';
    $nombdd = 'ccm'; // Nom de la base de données
    $bdd = new mysqli($hote, $utilisateur, $mdp, $nombdd);
    if ($bdd->connect_error) {
        echo 'Erreur de connexion (' . $bdd->connect_errno . ') ' . $bdd->connect_error;
    }
    

    ou le style procédurale (celui que toi tu sembles vouloir utiliser)
    $hote = 'localhost';
    $utilisateur = 'username';
    $mdp = 'motdepasse';
    $nombdd = 'ccm'; // Nom de la base de données
    $bdd = mysqli_connect($hote, $utilisateur, $mdp, $nombdd);
    if (!$bdd) {
        echo 'Erreur de connexion (' . mysqli_connect_errno() . ') ' . mysqli_connect_error();
    }
    


    Il te faudra également modifier TOUTES tes autres instructions mysql ... pour les passer en mysqli !
     $sql = mysql_query($sql)or die(mysql_error());
    

    devient alors (en style procédural ) :
     $resultat = mysqli_query($bdd,$sql) or die(mysqli_error($bdd));
    

    http://www.manuelphp.com/php/function.mysqli-query.php

    Je te laisse vérifier tes autres instructions.
    Toutes les réponses se trouvent sur la doc PHP disponible sur internet....
    -1
    1. Nouvelle_Informaticienne Messages postés 173 Statut Membre 3
       
      merci monsieur vous avez raison je mélange du coup je vais refaire et vous dire le résultat , je vous remercie
      0