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 :

Notice: Undefined variable


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2016
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2016
    Messages : 173
    Points : 50
    Points
    50
    Par défaut Notice: Undefined variable
    Bonjour,

    J'ai un problème avec mon code car le serveur me met ça : Notice: Undefined variable: erreurlogin in /var/www/friendsnetwork/index.php on line 99 quand je m'inscris via le formulaire mais je n'y vois aucune erreur pourtant ?

    Voici 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
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    <?php
    session_start();
     
    $bdd = new PDO('mysql:host=localhost;dbname=u884437960_em', 'u884437960_rm', 'taxregri');
    if(isset($_POST['formconnexion'])) {
       $mailconnect = htmlspecialchars($_POST['mailconnect']);
       $pseudoconnect = htmlspecialchars($_POST['pseudoconnect']);
       $mdpconnect = sha1($_POST['mdpconnect']);
       if(!empty($pseudoconnect) OR !empty($mailconnect) AND !empty($mdpconnect)) {
          $requser = $bdd->prepare("SELECT * FROM membres WHERE mail = ? OR pseudo = ? AND motdepasse = ?");
          $requser->execute(array($pseudoconnect, $mailconnect, $mdpconnect));
          $userexist = $requser->rowCount();
          if($userexist == 1) {
             $userinfo = $requser->fetch();
             $_SESSION['id'] = $userinfo['id'];
             $_SESSION['pseudo'] = $userinfo['pseudo'];
             $_SESSION['mail'] = $userinfo['mail'];
             header("Location: actu.php?id=".$_SESSION['id']);
          } else {
             $erreurlogin = "Mauvaise pseudo ou mauvais mot de passe !";
          }
       } else {
          $erreurlogin = "Tous les champs doivent être complétés !";
       }
    }
    ?>
    <?php
    $bdd = new PDO('mysql:host=localhost;dbname=bdd', 'utilisateur', 'mdp');
    if(isset($_POST['forminscription'])) {
       $pseudo = htmlspecialchars($_POST['pseudo']);
       $mail = htmlspecialchars($_POST['mail']);
       $mdp = sha1($_POST['mdp']);
       $mdp2 = sha1($_POST['mdp2']);
       if(!empty($_POST['pseudo']) AND !empty($_POST['mail']) AND !empty($_POST['mdp']) AND !empty($_POST['mdp2'])) {
          $pseudolength = strlen($pseudo);
          if($pseudolength <= 255) {
             if($mail) {
                if(filter_var($mail, FILTER_VALIDATE_EMAIL)) {
                   $reqmail = $bdd->prepare("SELECT * FROM membres WHERE mail = ?");
                   $reqmail->execute(array($mail));
                   $mailexist = $reqmail->rowCount();
                   if($mailexist == 0) {
                      if($mdp == $mdp2) {
                         $insertmbr = $bdd->prepare("INSERT INTO membres(pseudo, mail, motdepasse) VALUES(?, ?, ?)");
                         $insertmbr->execute(array($pseudo, $mail, $mdp));
                         $erreur = "Votre compte a bien été créé !</a>";
                      } else {
                         $erreur = "Vos mots de passes ne correspondent pas !";
                        }
                   } else {
                      $erreur = "Adresse email déjà utilisée !";
                   }
                } else {
                   $erreur = "Votre adresse email n'est pas valide !";
                }
             } 
          } else {
             $erreur = "Votre pseudo ne doit pas dépasser 255 caractères !";
          }
       } else {
          $erreur = "Tous les champs doivent être complétés !";
       }
    }
    ?>
    <html>
    	<head>
    		<meta charset="UTF-8" />
    		<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 
    		<meta name="viewport" content="initial-scale=1.0; maximum-scale=1.0" />
    		<title>FriendsNetwork - Réseau social privé</title>
    		<meta name="viewport" content="width=device-width, target-densitydpi=device-dpi, initial-scale=1"/>
    		<link rel="icon" type="image/png" href="images/favicon.png">
    <link rel="stylesheet" type="text/css" href="index.css" />
    <link href='https://fonts.googleapis.com/css?family=Dancing+Script:400,700' rel='stylesheet' type='text/css'>
    	</head>
    	<body>
    		<body>
    		<div id="bande">
    			<center><h2><strong><font color="#19c589">FriendsNetwork</font></strong></h2></center>
    		<blockquote>
    <p style="margin-bottom: 0px;">“Mon premier réseau social privé.”</p>
    <div id="author" style="width: 115px;"></div>
    </blockquote>
    	</div>
    	<div="solution">
    	<div class="solution_image">
                </div>
                <div class="solution_interieur">
                    <h2 class="interieur_title" margin-left="200px;" style="margin-left: 50px;"><font color="#E65555">Se connecter</font></h2>
                    <p style="margin-left: 100px; margin-top: 50px;">
    <form method="POST" action="" style="margin-left: 40px;">
                Pseudo: <input type="text" name="mailconnect" name="pseudoconnect" placeholder="Votre pseudo" /><br />
                Mot de Passe : <input type="password" name="mdpconnect" placeholder="Votre mot de passe" />
                <br /><br />
                <input type="submit" name="formconnexion" value="Se connecter" />
             </form>
             <?php
             if(isset($erreur)) {
                echo $erreurlogin;
             }
             ?>
             </p>
    </form>
                </div>
     
            <div id="register">
                    <h2 class="register_title" style="width: 110px;"><font color="#46A2D9">S'inscrire</font></h2>
                    <p style="margin-right: 200px; margin-top: 50px;">
                    	<div id="formregister" style="/* width: 550px; */width: 550px;">
    <form method="POST" action="">
                <table>
                   <tr>
                      <td align="right">
                         <label for="pseudo"><h2>Pseudo : </h2></label>
                      </td>
                      <td>
                         <input type="text" placeholder="Nom et Prénom" id="pseudo" name="pseudo" value="<?php if(isset($pseudo)) { echo $pseudo; } ?>" />
                      </td>
                   </tr>
                   <tr>
                      <td align="right">
                         <label for="mail"><h2>Email : </h2></label>
                      </td>
                      <td>
                         <input type="email" placeholder="Votre email" id="mail" name="mail" value="<?php if(isset($mail)) { echo $mail; } ?>" />
                      </td>
                   </tr>
                   <tr>
                      <td align="right">
                         <label for="mdp"><h2>Mot de passe : </h2></label>
                      </td>
                      <td>
                         <input type="password" placeholder="Votre mot de passe" id="mdp" name="mdp" />
                      </td>
                   </tr>
                   <tr>
                      <td align="right">
                         <label for="mdp2"><h2>Confirmation du mot de passe : </h2></label>
                      </td>
                      <td>
                         <input type="password" placeholder="Confirmez votre mot de passe" id="mdp2" name="mdp2" />
                      </td>
                   </tr>
                   <tr>
                      <td></td>
                      <td align="center">
                         <br />
                         <input type="submit" name="forminscription" value="Je m'inscris" />
                      </td>
                   </tr>
                </table>
             </form>
             <?php
             if(isset($erreur)) {
                echo $erreur;
             }
             ?>
         </div>
    			</p>
        </div>
    	<br>
        </div="solution">
    	<br />
        </body>
    	<footer>
    		<?php include("footer.php"); ?>
    	</footer>
     
    </html>
    Merci d'avance pour vos réponses?

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Ce $erreurlogin n'a pas lieu d'être.
    Remplace partout $erreurlogin par $erreur.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2016
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2016
    Messages : 173
    Points : 50
    Points
    50
    Par défaut
    Ok merci mais maintenant quand je m'inscris via le formulaire il me dit que mon compte à été créé et quand je vais voir dans mas base de donnée mon compte n'apparait pas et il me mais ceci sur la page d'accueil du site quand je me connecte :
    Notice: Undefined index: pseudoconnect in /var/www/friendsnetwork/index.php on line 7
    Il m'indique aussi que mon mdp ou pseudo est incorrect.

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu as deux name dans ton champs pour le pseudo :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
     Pseudo: <input type="text" name="mailconnect" name="pseudoconnect" placeholder="Votre pseudo" /><br />

    Tu as également deux fois la définition de $bdd dans ton code.
    Et il faut retirer tes htmlspecialchars() : cette fonction sert à afficher du HTML, pas à lire/insérer des données dans une table.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2016
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2016
    Messages : 173
    Points : 50
    Points
    50
    Par défaut Encore un problème !!!
    Voila en fait maintenant le problème est le suivant :
    Warning: PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens in /var/www/friendsnetwork/index.php on line 10
    Comment faire j'en ai marre de toutes c'est erreurs.

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Comment faire j'en ai marre de toutes c'est erreurs.
    Comment faire ? Et bien écrire du code sans fautes, ce n'est pas une fatalité. La programmation ce n'est pas une plaie d'Egypte.

    Comme l'indique l'erreur tu n'as pas le même nombre de "?" dans le prepare() que de paramètres dans execute()
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2016
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2016
    Messages : 173
    Points : 50
    Points
    50
    Par défaut
    Ok merci ça marche pour l'instant

  8. #8
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2016
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2016
    Messages : 173
    Points : 50
    Points
    50
    Par défaut
    Enfin non ça ne marche pas vraiment car maintenant dans la page qui contient les messages j'ai ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
    $bdd = new PDO('mysql:host=localhost;dbname=db', 'user', 'mdp');
    $reponse = $bdd->query('SELECT pseudo, message FROM minichat order BY id DESC');
    while ($donnees = $reponse->fetch())
    {
    echo '<br /><div class="bandepub2" style="background-color: #fff; text-align: center; box-shadow: 1px 1px 12px #555;">'; echo $donnees['pseudo'] . ' </strong>:<br />' . $donnees['message']; echo  ' <br /></div>' ; echo '</div>';}
    ?>
    et j'ai cette erreur :
    Fatal error: Uncaught Error: Call to a member function fetch() on boolean in /var/www/friendsnetwork/load_messages.php:4 Stack trace: #0 {main} thrown in /var/www/friendsnetwork/load_messages.php on line

  9. #9
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Il doit y avoir une erreur dans ta requête, active les exceptions PDO :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  10. #10
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2016
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2016
    Messages : 173
    Points : 50
    Points
    50
    Par défaut
    J'ai encore ça :
    Fatal error: Uncaught Error: Call to a member function fetch() on boolean in /var/www/friendsnetwork/load_messages.php:4 Stack trace: #0 {main} thrown in /var/www/friendsnetwork/load_messages.php on line

  11. #11
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    1/ il faudrait peut-être temps d'apprendre à comprendre les messages d'erreurs...

    on line ... ?
    Dommage ! la ligne est une info importante pour savoir où se situe l'erreur...

    Et nous montrer la ligne en question serait un plus.


    2/ as-tu vérifié la requête ?
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    'SELECT pseudo, message FROM minichat order BY id DESC'
    Par exemple, en la passant directement dans phpmyAdmin ?

  12. #12
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2016
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2016
    Messages : 173
    Points : 50
    Points
    50
    Par défaut
    La ligne concerné est la 4 désolé.
    Et Mysql a répondu ceci :
    #1054 - Champ 'id' inconnu dans order clause

  13. #13
    Invité
    Invité(e)
    Par défaut
    Et tu en conclus quoi ?

  14. #14
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2016
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2016
    Messages : 173
    Points : 50
    Points
    50
    Par défaut
    Bas je ne sais pas

  15. #15
    Invité
    Invité(e)
    Par défaut
    Pourtant, tu l'as écrit en français.
    Champ 'id' inconnu dans order clause
    Il n'y a pas de colonne "id" dans la table minichat.


    Ce qui explique l'autre erreur :
    Fatal error: Uncaught Error: Call to a member function fetch() on boolean ....
    La requête étant fausse, elle renvoit false (booléen).

  16. #16
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2016
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2016
    Messages : 173
    Points : 50
    Points
    50
    Par défaut
    Ok maintenant j'ai cela : Nom : image.jpeg
Affichages : 832
Taille : 31,1 Ko

  17. #17
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Ce qui est amusant c'est que tu ajoutes des erreurs la ou il n'y en avait pas.
    Retire ce que tu as mis dans dans les parenthèses de fetch()
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  18. #18
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2016
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2016
    Messages : 173
    Points : 50
    Points
    50
    Par défaut Super !!!
    Super !!! Merci mille fois tout marche super bien trop cool

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

Discussions similaires

  1. Problème Ajax avec serveur IIS en ASP/C#
    Par silvinus dans le forum ASP.NET
    Réponses: 1
    Dernier message: 28/05/2008, 16h42
  2. 404 pour une page php avec serveur domino
    Par Ouach dans le forum Serveurs (Apache, IIS,...)
    Réponses: 3
    Dernier message: 22/06/2007, 11h31
  3. [FTP] Configurer php avec Serveur FTP fillezilla
    Par metrax dans le forum Langage
    Réponses: 2
    Dernier message: 27/04/2007, 11h30
  4. Problème PHP avec Free
    Par shikakus dans le forum Free
    Réponses: 8
    Dernier message: 05/03/2007, 14h36
  5. problème PHP avec les sessions
    Par soufian2290 dans le forum Langage
    Réponses: 2
    Dernier message: 24/01/2007, 18h00

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