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

PHP & Base de données Discussion :

Création d'un livre d'or - Alimentation bd avec insert into


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 23
    Par défaut Création d'un livre d'or - Alimentation bd avec insert into
    bonjour

    voici le code php afin d'alimenter les données saisies par les personnes qui veulent laisser un message sur le livre d'or
    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
     
    <?php
     
    $connexion = mysql_connect("127.0.0.1","root","") or die('erreur de connexion');
     
    mysql_select_db("livre_dor",$connexion);
     
     if (isset ($_POST['Envoyer'])AND (!empty($_POST['pseudo']) AND !empty($_POST['email']) AND !empty($_POST['comment']))){
     
     //on récupère les valeurs entrées par l'utilisateur
     $pseudo= mysql_real_escape_string(htmlspecialchars($_POST['pseudo'])); 
    //on utilise mysql_real_escape_string et htmlspecialchars par mesure de sécurité
     $email = mysql_real_escape_string(htmlspecialchars($_POST['email']));
     $comment = mysql_real_escape_string(htmlspecialchars($_POST['comment']));
     $comment = nl2br($comment); //pour le message, comme on utilise un textarea, il faut remplacer les Entrées par des <br />
     
      connectMaBase();
     
      ini_set('mysql.trace_mode', true); // j'ai mis cela pour trouver mon erreur mais rien  pas d'erreur
     
      $sql = "INSERT INTO livredor(id, pseudo, email, comment) VALUES ('','".$pseudo."','".$email."','".$comment."');";
     
      echo $sql; //j'ai mis cette ligne pour afficher le resultat de la requête mais là encore cela ne s'affiche pas
     
      mysql_query($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());
     
     
      if (!mysql_query($sql,$connexion)){
            die ('impossible d ajouter un enregistrement:' .mysql_error());
            }
            else {
            echo "l'enregistrement est ajouté";
            }
      }
    je n'ai aucun message d'erreur de script, j'arrive sur ma page, j'entre un pseudo, un email et un commentaire, et lorsque je vais voir ma table, elle est vide, rien de rien

    cela fait deux jours que je suis dessus, je fais le tour des forums pour voir si je pouvais corriger mon erreur et rien

    si je fais un test de connexion, il me met bien : connexion réussie

    donc la connexion est bonne


    si quelqu'un pouvait m'aider ce serait sympa

    merci

  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
    Par défaut
    Si tu n'obtiens rien, il est très problable que ta condition ligne 8 ne passe pas.
    Controle ce que contient ton $_POST
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 23
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Si tu n'obtiens rien, il est très problable que ta condition ligne 8 ne passe pas.
    Controle ce que contient ton $_POST
    je viens de tester mon $_POST['Envoyer']

    lorsque j'ouvre ma page livre_d_or.php j'ai un message d'erreur car la variable est null par contre lorsque je saisie le pseudo, l'email, le message, et que je clique sur ok

    le contenu de la variable est bien ok
    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
     <?php
    $connexion = mysql_connect("127.0.0.1","root","") or die('erreur de connexion');
    mysql_select_db("livre_dor",$connexion);
    
    $Envoyer = $_POST['Envoyer']; //ligne que je viens d'insérer pour vérifier le contenu de ma variable
    echo $Envoyer; //là le retour de donne "ok" sur ma page donc la variable est bien alimentée
    
    
     if (isset ($_POST['Envoyer'])AND (!empty($_POST['pseudo']) AND !empty($_POST['email']) AND !empty($_POST['comment']))){
     //on récupère les valeurs entrées par l'utilisateur
     $pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo'])); //on utilise mysql_real_escape_string et htmlspecialchars par mesure de sécurité
     $email = mysql_real_escape_string(htmlspecialchars($_POST['email']));
     $comment = mysql_real_escape_string(htmlspecialchars($_POST['comment']));
     $comment = nl2br($comment); //pour le message, comme on utilise un textarea, il faut remplacer les Entrées par des <br />
    
      connectMaBase();
      ini_set('mysql.trace_mode', true);
      $sql = "INSERT INTO livredor(id, pseudo, email, comment) VALUES ('','".$pseudo."','".$email."','".$comment."');";
      echo $sql;
      mysql_query($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());
      
      
      if (!mysql_query($sql,$connexion)){
            die ('impossible d ajouter un enregistrement:' .mysql_error());
            }
            else {
            echo "l'enregistrement est ajouté";
            }
      }

  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
    Par défaut
    Contrôle ce que contient ton $_POST en entier et regarde si tu passes ou non la premiere condition.

    Au passage, utilise htmlspecialchars() pour l'affichage, pas pour l'insertion en base.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 23
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Contrôle ce que contient ton $_POST en entier et regarde si tu passes ou non la premiere condition.

    Au passage, utilise htmlspecialchars() pour l'affichage, pas pour l'insertion en base.
    J'ai trouvé mon erreur, cela venait de la partie <form> </form>

    <form method="POST" action="http://127.0.0.1:8888/pageweb_sylvie/livre_d_or.php">
    <p>
    <label for="pseudo">Pseudo : </label>
    <input type = "text" name = "pseudo" size = "20" maxlength = "40">
    <br>

    <label for="email">email : </label>
    <input type="mail" name = "email" size ="20" maxlength="60">
    <br>
    <label for="comment">Votre message :</label><br />
    <textarea name="comment" rows="8" cols="35"></textarea><br />
    <input type="submit" name="Envoyer" value="OK">
    </p>
    </form>

    pour la partie textarea j'avais indiqué name="commentaires" et dans les variables du php j'indiquais "comment" qui est le nom de mon champ dans ma table sql.

    Problème résolu

    mon code php était juste

    merci quand même.

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

Discussions similaires

  1. [MySQL] alimenter ma base de données avec insert into
    Par elbush dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 28/04/2014, 09h44
  2. Création d'un livre d'or avec dreamweaver
    Par stanley dans le forum Dreamweaver
    Réponses: 2
    Dernier message: 24/10/2008, 17h07
  3. Création d'un "livre interactif"
    Par timhost dans le forum Imagerie
    Réponses: 2
    Dernier message: 30/08/2007, 14h11
  4. [MySQL] Création d'un livre d'or
    Par young077 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 18/07/2007, 19h03
  5. [POO] Création d'un livre d'Or en php5
    Par ChriGoLioNaDor dans le forum Langage
    Réponses: 13
    Dernier message: 18/02/2007, 17h37

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