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 -
Nouvelle_Informaticienne Messages postés 173 Statut Membre -
Bonjour
j'ai un petit / grand probleme avec ce code il m'affiche ca :
donc il se bloque dans la ligne suivante :
je ne sais plus la source d erreur !!!
je vous remercie infiniment bonne soiree
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
-
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 -
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....