Problème insertion données du formulaire dans BDD
Répondre à la discussion
Affichage des résultats 1 à 10 sur 10

Problème insertion données du formulaire dans BDD



  1. #1
    Kstore

    Problème insertion données du formulaire dans BDD


    ------

    Bonjour a tous , j'ai pour projet de créer un site :
    le problème c'est que je n'arrive pas a insérer les données de mes formulaires dans ma bdd.
    j'ai une erreur qui s'affiche aussi: Echec :SQLSTATE[23000]: Integrity constraint violation: 1048 Le champ 'nom' ne peut �tre vide (null)
    je vous laisse le code,si quelqu'un peut m'aider, ça m'économiserais un arrachage de cheveux

    Code PHP:
    <?php

    <form action="ajout-anime.php" method="POST">

      <
    label style="font-size: 1.2em;">Nom de l'anime:</label>
    <input name="nom"  style="font-size: 1em;width: 60%; height:20px;border-radius: 4px; box-shadow: 1px 1px 2px 2px red ;  " />

    </br></br>
     

        <label style="color:green;" >Genre Principale :</label>

        <select name="genre1">
    <option>Gore/Horreur</option>
    <option>Mecha</option>
    <option>Seinen</option>
    <option>Shonen</option>
    <option selected>Shojo</option>
    <option>Aventure</option>
    <option>Action</option>
    <option>Ecchi</option>
    </select> 

     <label style="color:green;padding-left: 15px;"> Genre Secondaire :</label>

        <select name="genre2">
    <option>Gore/Horreur</option>
    <option>Mecha</option>
    <option>Seinen</option>
    <option>Shonen</option>
    <option selected>Shojo</option>
    <option>Aventure</option>
    <option>Action</option>
    <option>Ecchi</option>
    </select> 
    </br></br> 


    <p style="font-size: 1.2em;">Nombre d'
    épisode(s):</p><input type="number" name="nombre_episode" value="12">
    </
    br></br>
     <
    label style="font-size: 1.2em";>Public :</br></br></label>
     <
    input type="radio" name="pegi" value="Tout Public :"/><span style="color:green;">Tout Public</span>
    <
    input type"radio" name="pegi" value="-12 ans"/><span style="color:yellow;">-12 ans</span>
    <
    input type"radio" name="pegi" value="-16 ans"/><span style="color:orange;">-16 ans</span>
    <
    input type"radio" name="pegi" value="-18 ans"/> <span style="color:red;">-18 ans</span>
    <
    div id='structure_liens'>
    <
    label>Résumé de l'anime :</label>
    <textarea style="height: 200px;width: 100%;border-radius: 5px;margin-left:-4px"></textarea>

    </div>

    </br></br>  
    <div style="text-align: center;">
        <input type="submit" class="submit1"/>
        </div>
      </form>




    <?php
    $serveur='
    localhost';
    $login='
    root';
    $pass='';
    try{    
    $connexion = new PDO("mysql:host=$serveur;dbname=anime-nian", $login, $pass);
    $connexion->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);

    $requete=$connexion->prepare("INSERT INTO anime(nom,pegi,genre1,genre2,nombre_episode,description) VALUES(
      :nom,:pegi,:genre1,:genre2,:nombre_episode,:description)");
    $requete->bindParam('
    :nom',$_POST['nom']);
    $requete->bindParam('
    :pegi',$_POST['pegi']);
    $requete->bindParam('
    :genre1',$_POST['genre1']);
    $requete->bindParam('
    :genre2',$_POST['genre2']);
    $requete->bindParam('
    :nombre_episode',$_POST['nombre_episode']);
    $requete->bindParam('
    :description',$_POST['description']);

    $requete->execute();
    }
    catch(PDOException $e){ 
      echo'
    Echec :' .$e->getMessage();


        ?>

    -----
    Dernière modification par JPL ; 11/08/2017 à 17h43. Motif: Balise PHP

  2. #2
    cherbe

    Re : Problème insertion données du formulaire dans BDD

    Bonjour
    Citation Envoyé par Kstore Voir le message
    j'ai une erreur qui s'affiche aussi: Echec :SQLSTATE[23000]: Integrity constraint violation: 1048 Le champ 'nom' ne peut �tre vide (null)
    Les variables en rouge n'existent pas pour PHP donc le message d'erreur est normal :
    Code:
    INSERT INTO anime(nom,pegi,genre1,genre2,nombre_episode,description) VALUES(
      :nom,:pegi,:genre1,:genre2,:nombre_episode,:description)")
    Tu ne peux pas, dans la même page, créer le formulaire et exploiter ses données.
    Regarde l'utilisation de POST en HTML pour appeler une autre page contenant le script PHP et lui transmettre les valeurs saisies par l'utilisateur.
    Pour avoir de l'argent devant soi, il faut en mettre de côté ! (proverbe lorrain)

  3. #3
    Kstore

    Re : Problème insertion données du formulaire dans BDD

    Bah pourtant cela marche bien, mes données sont biens transmises (j'ai tester avec var_dump() )
    et elles sont bien rentré dans ma bdd cependant j'ai toujours une erreur qui s'affiche :SQLSTATE[23000]: Integrity constraint violation: 1048 Le champ 'nom' ne peut �tre vide (null)
    du coup je pense que je vais faire comme tu as dit car même si ça marche , les erreurs c'est moche.

  4. #4
    cherbe

    Re : Problème insertion données du formulaire dans BDD

    Je ne comprends pas comment les données peuvent être insérées malgré ce message d'erreur ?
    Pour avoir de l'argent devant soi, il faut en mettre de côté ! (proverbe lorrain)

  5. A voir en vidéo sur Futura
  6. #5
    imoca

    Re : Problème insertion données du formulaire dans BDD

    Bonjour,

    Lorsque que tu génére le formulaire, cela execute l'enregistrement en bdd, or bien sur aucune donnée est fourni.

    Tu peux par exemple mettre le code d'insert dans une condition que le formulaire est été validé.

  7. #6
    Kstore

    Re : Problème insertion données du formulaire dans BDD

    Citation Envoyé par imoca Voir le message
    Bonjour,

    Lorsque que tu génére le formulaire, cela execute l'enregistrement en bdd, or bien sur aucune donnée est fourni.

    Tu peux par exemple mettre le code d'insert dans une condition que le formulaire est été validé.
    Merci de ta réponse, je vais faire ça

  8. #7
    cherbe

    Re : Problème insertion données du formulaire dans BDD

    Citation Envoyé par Kstore Voir le message
    Merci de ta réponse, je vais faire ça
    Et ça ne servira à rien !
    Chaque fois que la page est affichée, le formulaire est recréé et le code PHP exécuté dans la foulé ce qui ne permet pas au visiteur de remplir le formulaire. La condition ne sera jamais remplie.
    Pour avoir de l'argent devant soi, il faut en mettre de côté ! (proverbe lorrain)

  9. #8
    imoca

    Re : Problème insertion données du formulaire dans BDD

    Il suffit d'ajouter un input hidden name=post value= 'posted' par exemple.
    L'insert est lancé uniquement sur isset($_POST['post'])

  10. #9
    cherbe

    Re : Problème insertion données du formulaire dans BDD

    Citation Envoyé par imoca Voir le message
    Il suffit d'ajouter un input hidden name=post value= 'posted' par exemple.
    L'insert est lancé uniquement sur isset($_POST['post'])
    Ok, de cette façon le script n'est pas exécuté et l’utilisateur peut remplir les champs.
    Mais ensuite, comment déclencher l'exécution du script seul, sans recharger la page qui détruirait les données saisies ?
    Pour avoir de l'argent devant soi, il faut en mettre de côté ! (proverbe lorrain)

  11. #10
    imoca

    Re : Problème insertion données du formulaire dans BDD

    if(issert($_POST['post'])){
    mettre le code d'insert
    }else{
    generer le formulaire
    }

Discussions similaires

  1. PHP: Afficher/modifier les données du formulaire en cours
    Par olivier147 dans le forum Programmation et langages, Algorithmique
    Réponses: 35
    Dernier message: 02/02/2016, 11h19
  2. Enregistrement des données d'un formulaire(en mode feuille de données)
    Par lordgodgiven dans le forum Programmation et langages, Algorithmique
    Réponses: 6
    Dernier message: 28/09/2011, 13h15
  3. problème insertion fichier .txt dans une allocation dynamique
    Par invitef838f58f dans le forum Programmation et langages, Algorithmique
    Réponses: 9
    Dernier message: 09/01/2011, 18h32
  4. Pb Formulaire InfoPath vers base données Acces 2007
    Par invite4aaa7617 dans le forum Logiciel - Software - Open Source
    Réponses: 3
    Dernier message: 11/06/2009, 07h27
  5. Comment récupérer les données d'un formulaire avec php?
    Par invite8f80ea32 dans le forum Internet - Réseau - Sécurité générale
    Réponses: 0
    Dernier message: 04/05/2008, 12h44