Bonjour, cliquez-ici pour vous inscrire et participer au forum.
  • Login:



+ Répondre à la discussion
Affichage des résultats 1 à 10 sur 10

Problème insertion données du formulaire dans BDD

  1. Kstore

    Date d'inscription
    août 2017
    Localisation
    Lyon
    Âge
    17
    Messages
    8

    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
     


    • Publicité



  2. cherbe

    Date d'inscription
    janvier 2015
    Localisation
    Quelque part en Lorraine
    Messages
    1 696

    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.
    Le Pape a probablement un ordinateur cantique.
     

  3. Kstore

    Date d'inscription
    août 2017
    Localisation
    Lyon
    Âge
    17
    Messages
    8

    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. cherbe

    Date d'inscription
    janvier 2015
    Localisation
    Quelque part en Lorraine
    Messages
    1 696

    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 ?
    Le Pape a probablement un ordinateur cantique.
     

  5. imoca

    Date d'inscription
    avril 2015
    Messages
    133

    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é.
     


    • Publicité



  6. Kstore

    Date d'inscription
    août 2017
    Localisation
    Lyon
    Âge
    17
    Messages
    8

    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
     

  7. cherbe

    Date d'inscription
    janvier 2015
    Localisation
    Quelque part en Lorraine
    Messages
    1 696

    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.
    Le Pape a probablement un ordinateur cantique.
     

  8. imoca

    Date d'inscription
    avril 2015
    Messages
    133

    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'])
     

  9. cherbe

    Date d'inscription
    janvier 2015
    Localisation
    Quelque part en Lorraine
    Messages
    1 696

    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 ?
    Le Pape a probablement un ordinateur cantique.
     

  10. imoca

    Date d'inscription
    avril 2015
    Messages
    133

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

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


    • Publicité







Sur le même thème :





 

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 Ptitsuisse91 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 Bourkanieche 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 krikri58 dans le forum Internet - Réseau - Sécurité générale
    Réponses: 0
    Dernier message: 04/05/2008, 12h44