IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

erreur Notice: Undefined index


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Inscrit en
    Avril 2008
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 79
    Points : 37
    Points
    37
    Par défaut erreur Notice: Undefined index
    Bonjour,j'esper que qlq peut m'aider,j'ai réaliser un formulaire d'inscription qui verifie si le login et le mail existes deja sur la base avant de soumettre la requete.quand un nouveau membre s'enregistre il reçoit le msg compte crée tt est ok, mais quand j'actualise la page il m'affiche compte existe deja ce qui normal mais affiche aussi 3 lignes d'erreur que voila:

    Notice: Undefined index: login in C:\wamp\www\e-learning\inscription.php on line 59
    Notice: Undefined index: password in C:\wamp\www\e-learning\inscription.php on line 60
    Notice: Undefined index: mail in C:\wamp\www\e-learning\inscription.php on line 61

    voila mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
    <?php  
    session_start();
    include "include/db_connect.php";
    //recup des champs
    $login = mysql_real_escape_string($_POST['login']);
    $password = mysql_real_escape_string(md5($_POST['password']));
    $mail = mysql_real_escape_string($_POST['mail']); 
     
    //On verifie si le pseudo et l'email sont connues
    $verification = mysql_query("SELECT COUNT(*) FROM membres WHERE login='$login' OR mail='$mail'"); 
    $donnees = mysql_fetch_array($verification); 
    if($donnees['COUNT(*)'] >= 1)
    { 
    echo '<br><br><br><br><p class="bug"><center><h3>Ce Login ou cette adresse mail sont déja utiliés, veuillez en choisir d\'autres !</h3></center></p>'; 
    echo "<center><a href=\"login.php\" >accueil</a></center>";
    exit();     
    }
    else 
    {
    $date = date("Y-m-d"); //Date du jour
    $sql = "INSERT INTO membres (login,password,mail,statut,date_creation) VALUES ('".$login."','".$password."','".$mail."','membre','".$date."')";
    mysql_query($sql);
     // on rcupre l'id de notre nouveau membre 
        $id = mysql_insert_id(); 
        //session_start(); 
     $_SESSION['login'] = $_POST['login']; 
        // on stocke cet id dans une variable de session 
        $_SESSION['id'] = $id; 
     
    //Texte vu sur le site par le nouvel inscrit
     
    echo '<br><br><br><br><center><h3>Votre compte a été activé, vous pouvez vous connecter.</h3>';
    echo "<a href=\"login.php\" >accueil</a></center>";
     
    mysql_close($connexion); 
    }
    ?>
    je vous remerci

  2. #2
    Membre éclairé
    Avatar de hornetbzz
    Homme Profil pro
    Directeur commercial
    Inscrit en
    Octobre 2009
    Messages
    482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France

    Informations professionnelles :
    Activité : Directeur commercial

    Informations forums :
    Inscription : Octobre 2009
    Messages : 482
    Points : 773
    Points
    773
    Par défaut
    2 remarques:

    1) En production, tu devras désactiver les notices et warnings en modifiant 3 paramètres dans le fichier php.ini en n'oubliant pas de relancer Apache - il y a une icone "restart" dans le tray sous Wamp je crois de mémoire - (ou directement sous PHP selon ton hébergeur) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    error_reporting  =  NULL
    display_errors = Off
    display_startup_errors = Off
    2) Je ne vois pas à quoi correspondent les lignes 59, 60, 61 mais j'imagine que ce sont des variables $_POST non définies qui font que les 3 variables $login, $password et $mail ne sont pas définies non plus. Si le message correspond à ces lignes, essayes peut-être de remplacer ces 3 lignes par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $login = (isset($_POST['login'])) ? mysql_real_escape_string($_POST['login']) : NULL;
    $password= (isset($_POST['password'])) ? mysql_real_escape_string($_POST['password']) : NULL;
    $mail = (isset($_POST['mail '])) ? mysql_real_escape_string($_POST['mail ']) : NULL;

  3. #3
    Expert confirmé
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Points : 4 853
    Points
    4 853
    Par défaut
    Merci d'utiliser la fonction recherche http://www.developpez.net/forums/d86...defined-index/

  4. #4
    Nouveau membre du Club
    Inscrit en
    Avril 2008
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 79
    Points : 37
    Points
    37
    Par défaut
    merci beaucoup je vais tester pr voir si ça regle le probleme

  5. #5
    Nouveau membre du Club
    Inscrit en
    Avril 2008
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 79
    Points : 37
    Points
    37
    Par défaut
    merci hornetbzz tu es un chef, le pb est reglé en remplacant les 3 lignes de code par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $login = (isset($_POST['login'])) ? mysql_real_escape_string($_POST['login']) : NULL;
    $password= (isset($_POST['password'])) ? mysql_real_escape_string($_POST['password']) : NULL;
    $mail = (isset($_POST['mail '])) ? mysql_real_escape_string($_POST['mail ']) : NULL;
    mais j'ai pas touché au php.ini, les warnings c utile pr détécter les erreurs et j'en fais beaucoup
    passez un bn weekend

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [osCommerce] Message d'erreur Notice: Undefined index
    Par idamarco dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 11
    Dernier message: 23/10/2009, 15h42
  2. Message d'erreur Notice: Undefined index:
    Par helene38250 dans le forum Langage
    Réponses: 13
    Dernier message: 27/10/2008, 14h04
  3. Réponses: 9
    Dernier message: 18/05/2008, 13h06
  4. [Tableaux] Erreur => 'Notice :Undefined index'
    Par leduc26 dans le forum Langage
    Réponses: 1
    Dernier message: 06/06/2007, 11h13
  5. Pb erreur Notice: Undefined index: pseudo
    Par PAINCO dans le forum Langage
    Réponses: 15
    Dernier message: 19/02/2007, 19h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo