Erreur dans mon code
Résolu
guir2000
Messages postés
9
Date d'inscription
Statut
Membre
Dernière intervention
-
guir2000 Messages postés 9 Date d'inscription Statut Membre Dernière intervention -
guir2000 Messages postés 9 Date d'inscription Statut Membre Dernière intervention -
J'ai fais un code mais j'ai plusieurs bugs:
Voila mes problème:
Notice: Undefined index: pass in *EMPLACEMENT DU FICHIER* on line 50
Notice: Undefined index: pass2 in *EMPLACEMENT DU FICHIER* on line 50
Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in *EMPLACEMENT DU FICHIER* on line 67
Notice: Undefined index: login in *EMPLACEMENT DU FICHIER* on line 82
Notice: Undefined index: login in *EMPLACEMENT DU FICHIER* on line 96
Notice: Undefined index: pass in *EMPLACEMENT DU FICHIER* on line 96
Notice: Undefined variable: registerMSG in *EMPLACEMENT DU FICHIER* on line 232
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <style> .titre { border: 3px #3398db solid; border-radius: 10px; background:#3398db; } .marge { margin-left: 8em; } </style> <title>Mon Entreprise</title> </head> <body> <center><div class="titre"><h1>Mon Entreprise</h1>Menu 1<span class="marge">Menu2</span><span class="marge">Menu3</span><span class="marge">Menu4</span></center></div> <form action="accueil(co).php" method="post"> <table> <tr> <td><label for="login"><strong>Pseudo:</strong></label></td> <td><input type="text" name="login" id="login"/></td> </tr> <tr> <td><label for="pass"><strong>Mot de passe :</strong></label></td> <td><input type="password" name="pass" id="pass"/></td> </tr> <tr> <td><label for="pass2"><strong>Confirmez le mot de passe :</strong></label></td> <td><input type="password" name="pass2" id="pass2"/></td> </table> <input type="submit" name="register" value="S'inscrire"/> <?php if($_POST["pass"] == $_POST["pass2"]){ // On met les instructions à faire. } else{ // On met les instructions à faire. }?> <?php session_start(); $BDD = mysql_connect("localhost","root",""); mysql_select_db("database"); ?> <?php // On met les variables utilisé dans le code PHP à FALSE (C'est-à-dire les désactiver pour le moment). $error = TRUE; $registerOK = TRUE; // On regarde si l'utilisateur est bien passé par le module d'inscription if(isset($_POST["register"])){} // On regarde si tout les champs sont remplis, sinon, on affiche un message à l'utilisateur. if($_POST["login"] == NULL OR $_POST["pass"] == NULL OR $_POST["pass2"] == 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 : elseif($_POST["pass"] == $_POST["pass2"]){} // On regarde si le mot de passe et le nom de compte n'est pas le même if($_POST["login"] != $_POST["pass"]){ // Si c'est bon on regarde dans la base de donnée si le nom de compte est déjà utilisé : $sql = "SELECT login FROM users WHERE login = '".$_POST["login"]."' "; $sql = mysql_query($sql); // 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["pass"] < 60)){ // Si tout va bien on regarde si le nom de compte n'exède pas 60 caractères. if(strlen($_POST["login"] < 60)){ // Si le nom de compte et le mot de passe sont différent : if($_POST["login"] != $_POST["pass"]){ // Si tout ce passe correctement, on peut maintenant l'inscrire dans la base de données : $sql = "INSERT INTO users (login,pass) VALUES ('".$_POST["login"]."','".$_POST["pass"]."')"; $sql = mysql_query($sql); // 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["login"] = $_POST["login"]; $_SESSION["pass"] = $_POST["pass"]; // 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 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> !"; $login = NULL; $pass = $_POST["pass"]; } } // Si le mot de passe dépasse 60 caractères on le fait savoir else{ $error = TRUE; $errorMSG = "Votre mot de passe ne doit pas dépasser <strong>60 caractères</strong> !"; $login = $_POST["login"]; $pass = NULL; } } // Sinon on affiche un message d'erreur lui disant que ce nom de compte est déjà utilisé. else{ $error = TRUE; $errorMSG = "Le nom de compte <strong>".$_POST["login"]."</strong> est déjà utilisé !"; $login = NULL; $pass = $_POST["pass"]; } } // Sinon on fais savoir à l'utilisateur qu'il doit changer le mot de passe ou le nom de compte else{ $error = TRUE; $errorMSG = "Le nom de compte et le mot de passe doivent êtres différents !"; } } // Sinon si les deux mots de passes sont différents : elseif($_POST["pass"] != $_POST["pass2"]){ $error = TRUE; $errorMSG = "Les deux mots de passes sont différents !"; $login = $_POST["login"]; $pass = NULL; } // Sinon si le nom de compte et le mot de passe ont la même valeur : elseif($_POST["login"] == $_POST["pass"]){ $error = TRUE; $errorMSG = "Le nom de compte et le mot de passe doivent être différents !"; } } ?> <?php mysql_close($BDD); ?> <?php // On affiche les erreurs : if($error == TRUE){ echo "<p align='center' style='color:red;'>".$errorMSG."</p>"; } ?> <?php // Si l'inscription s'est bien déroulée on affiche le succès : if($registerOK == TRUE){ echo "<p align='center' style='color:green;'><strong>".$registerMSG."</strong></p>"; } ?> </form> </body> </html>
Voila mes problème:
Notice: Undefined index: pass in *EMPLACEMENT DU FICHIER* on line 50
Notice: Undefined index: pass2 in *EMPLACEMENT DU FICHIER* on line 50
Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in *EMPLACEMENT DU FICHIER* on line 67
Notice: Undefined index: login in *EMPLACEMENT DU FICHIER* on line 82
Notice: Undefined index: login in *EMPLACEMENT DU FICHIER* on line 96
Notice: Undefined index: pass in *EMPLACEMENT DU FICHIER* on line 96
Notice: Undefined variable: registerMSG in *EMPLACEMENT DU FICHIER* on line 232
A voir également:
- Erreur dans mon code
- Code ascii - Guide
- Code puk bloqué - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Code activation windows 10 - Guide
- Code blocks - Télécharger - Langages
2 réponses
Bonjour,
ligne 50, si le formulaire a été envoyé sans données, pass et pass2 n'existent pas (null) tu dois en tenir compte
ligne 67
Comme indiqué dans le message d'erreur, utilise mysqli
http://fr.openclassrooms.com/informatique/cours/maitrisez-mysqli-sans-poo
Les erreurs suivantes sont liées à la premiere ( cas ou pass et pass2 ne sont pas définis
ligne 232, $errorMSG n'est pas défini du fait que pass et pass2, encore une fois, n'existent pas
cdt
En informatique 99% des problèmes se situent entre le fauteuil et le clavier
ligne 50, si le formulaire a été envoyé sans données, pass et pass2 n'existent pas (null) tu dois en tenir compte
if ( isset( $_POST["pass"] ) && isset( $_POST["pass2"] )) { if($_POST["pass"] == $_POST["pass2"]){ ....
ligne 67
Comme indiqué dans le message d'erreur, utilise mysqli
http://fr.openclassrooms.com/informatique/cours/maitrisez-mysqli-sans-poo
Les erreurs suivantes sont liées à la premiere ( cas ou pass et pass2 ne sont pas définis
ligne 232, $errorMSG n'est pas défini du fait que pass et pass2, encore une fois, n'existent pas
cdt
En informatique 99% des problèmes se situent entre le fauteuil et le clavier