Prob insert

najia87 Messages postés 44 Statut Membre -  
najia87 Messages postés 44 Statut Membre -
stp j ai un probleme de l insertion a la base de donnee le botton enregistrer ca marche pas aide moi pour trouve le probleme stp

<?php
$i=1;
$var=mysql_connect("localhost","root","");
mysql_select_db("test",$var);
$sql="select question from examen3";
$result=mysql_query($sql);
WHILE ($tab = mysql_fetch_array($result) )
{
echo "$i question numero: $i $tab[question] <br>";
?>
<DD><INPUT type="text" name="reponseb" ></font><p><font color="#ff0000"></DD>
<?php
$i++;
}
?>
<?php

if (isset($_get['reponseb']))
{$reponseb=$_get['reponseb'];

$var=mysql_connect("localhost","root","");

mysql_select_db("test",$var);

$req="INSERT INTO reponse3 ('reponseb')".
"VALUES ('".$reponseb."')";

$result = mysql_query($req);
}
<form>
<INPUT type="submit" value="enregistrer" name="enregistrer"></form>
?>
<?php
mysql_close();
?>
Configuration: Windows XP
Internet Explorer 6.0

40 réponses

  • 1
  • 2
Résumé de la discussion

Plusieurs échanges portent sur l’insertion de réponses dans une base de données via PHP et MySQL, où le formulaire n’enregistre pas les données et où les scripts présentent des erreurs syntaxiques et de logique. Des corrections clés consistent à utiliser $_POST au lieu de $_GET pour récupérer reponseb et à corriger la requête INSERT INTO reponse3 (reponseb) VALUES ('...') en évitant les guillemets autour du nom de colonne. D'autres recommandations portent sur la sécurité et la fiabilité: fermer proprement les bases de données, vérifier le nom de la base et des tables, et préférer une approche PDO/MySQLi avec des requêtes préparées.

Généré automatiquement par IA
sur la base des meilleures réponses
  1. killeur Messages postés 112 Statut Membre 20
     
    il t'affiche quoi comme erreur??
    0
    1. najia87 Messages postés 44 Statut Membre 3
       
      il affiche que l erreue dans la ligne


      <INPUT type="submit" value="valider" name="valider"></form>
      0
  2. lewis34 Messages postés 2557 Date d'inscription   Statut Membre Dernière intervention   352
     
    bonsoir ,
    tu veut faire qoui exactement..?
    je pense que ton formulaire est un peu mal concu..

    <form>
    <INPUT type="submit" value="enregistrer" name="enregistrer"></form> 
    
    tu met tes balises form pas commei lfaut
    
    c'est plutot comme ca
    <form action="fichier_php-de_la-requete" method="post" (ou GEt) >
    
    <input type="text" value="<? echo $resultat_de_ta _requete_ de_ la_page" name="essai" ?> />
    
    <input type="submit" value="envoyer" name="submit">
    </form>
    


    une petite explication tu encadre des champs input par <form> et </form>
    dans le champs input tu peut afficher un resultat d'une requete qui se trouve dans cette page,et ce resultat sera envoyé sur une autre page ou la elle sera inserée dans ta base.

    tu peut l'envoyer soit par la methode post soit par get.
    ensuite sur ta 2eme page tu recupere la valeur post comme ca
    $var=$_POST['essai']; (ca devient $_get['essai'] si tu utilise la methode get)
    essai c'est le nom de l'input que tu a mis sur la page precedente
    puis ce n'est qu'une fois que tu a recupere cete variable que tu peut l'ajouter a ta table
    en esperant t'avoir eclairé un peu
    @+
    0
  3. najia87 Messages postés 44 Statut Membre 3
     
    j ai fait ce que tu m adit mais il me donne cette erreur (Parse error: parse error, expecting `','' or `';'' in c:\program files\easyphp1-8\www\quiz\reppppp.php on line 33)
    merci pour vos aide

    <?php
    $i=1;
    $var=mysql_connect("localhost","root","");
    mysql_select_db("test",$var);
    $sql="select question from examen3";
    $result=mysql_query($sql);
    WHILE ($tab = mysql_fetch_array($result) )
    {
    echo "$i question numero: $i $tab[question] <br>";
    ?>
    <DD><INPUT type="text" name="reponseb" ></font><p><font color="#ff0000"></DD>
    <?php
    $i++;
    }
    ?>
    <?php

    if (isset($_get['reponseb']))
    {$reponseb=$_get['reponseb'];

    $var=mysql_connect("localhost","root","");

    mysql_select_db("test",$var);

    $req="INSERT INTO reponse3 ('reponseb')".
    "VALUES ('".$reponseb."')";

    $result = mysql_query($req);
    }
    ?>
    <form action="reppppp.php" method="post">
    <input type="text" value="<?echo $reponseb" name=essai" ?> />
    <INPUT type="submit" value="enregistrer" name="enregistrer"></form>

    <?php
    mysql_close();
    ?>
    0
  4. lewis34 Messages postés 2557 Date d'inscription   Statut Membre Dernière intervention   352
     
    tu l'a creer ton fichier reppppp.php ?
    parce que cette requete
    $req="INSERT INTO reponse3 ('reponseb')".
    "VALUES ('".$reponseb."')"; c'est dans ce fichier qui faut la mettre
    0
    1. najia87 Messages postés 44 Statut Membre 3
       
      mais moi ja i code sur un seul fichier un seul formulaire j ai pas bien compri aide moi stp
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. lewis34 Messages postés 2557 Date d'inscription   Statut Membre Dernière intervention   352
     
    faut que j'y aille
    je t'oublie pas ,je te met un petit topo demain
    @+
    0
    1. najia87 Messages postés 44 Statut Membre 3
       
      stp mon code doit etre realise maintennat car de main doit etre pret
      stp aide moi de trouver le probleme
      0
  7. lewis34 Messages postés 2557 Date d'inscription   Statut Membre Dernière intervention   352
     
    va faire un tour du cote du site phpfacile ,il ya plein de tuto

    si tu veut poste moi ce que tu veut faire en MP et demain matin t'aura ton code
    ce soir c'est relache ;-)
    0
    1. najia87 Messages postés 44 Statut Membre 3
       
      voila je t explique ce que je veux faire
      j ai cree un formulaire des question quand je tape les question sur cette formulaire les question sont envoye a la base de donne c ad sont enregistere dan ma table (question)
      et j ai cree des formulaire qui selectinne a partie de la table (question ) les question et apres je tape la reponse de ses question pius je veeux que la reponse enregistrer dans la base de donnee dans la table (reponse)
      mais tout ca marche le probleme que j ai sur la formulaire de la reponse
      que quand je tape la repnse ses reponse ne s enregistre pas a la tabe reponse
      cest ca mon probleme sur ce code la :


      <?php
      $i=1;
      $var=mysql_connect("localhost","root","");
      mysql_select_db("test",$var);
      $sql="select question from examen3";
      $result=mysql_query($sql);
      WHILE ($tab = mysql_fetch_array($result) )
      {
      echo "$i question numero: $i $tab[question] <br>";
      ?>
      <DD><INPUT type="text" name="reponseb" ></font><p><font color="#ff0000"></DD>
      <?php
      $i++;
      }
      ?>
      <?php

      if (isset($_get['reponseb']))
      {$reponseb=$_get['reponseb'];


      $var=mysql_connect("localhost","root","");

      mysql_select_db("test",$var);

      $req="INSERT INTO reponse3 ('reponseb')".
      "VALUES ('".$reponseb."')";

      $result = mysql_query($req);
      }
      ?>
      <form action="reppppp.php" method="post">
      <input type="text" value="<?echo $reponseb" ?>/>
      <INPUT type="submit" value="enregistrer" name="enregistrer">

      </form>

      <?php
      mysql_close();
      ?>
      je croix mois que le probleme que sur la variable" reponseb " car il ne se enregistre pas
      merci pour vos aide
      0
  8. hanane_1 Messages postés 95 Date d'inscription   Statut Membre Dernière intervention   2
     
    bonsoir
    je crois que ton problemme et que tu dois integrer
    if (isset($_post['reponseb']))
    {$reponseb=$_post['reponseb'];
    et nn pas get
    et aussi
    $req="INSERT INTO reponse3 ('reponseb')".
    "VALUES ('".$reponseb."')";
    dans la boucle
    essaye et repond moi
    :)
    0
  9. lewis34 Messages postés 2557 Date d'inscription   Statut Membre Dernière intervention   352
     
    bonjour ,
    essai comme ca
    ton fichier question.php
    <html>
    <head>
    <body>
    <?php
    $i=1;
    $var=mysql_connect("localhost","root","");
    mysql_select_db("test",$var);
    $sql="select question from examen3";
     $result=mysql_query($sql);
     <td><input type="submit" value="envoyer" name="submit"></td>
    
    <!--on ferme le formailre-->
     </form>
    </body>
    </head>
    </html>
    


    maintenant ton fichier repppp.php
    <?
    //on verifie que la reponse est bien presente
    if (isset($_POST['reponseb']))
    //tu peut faire d'autre verification ensuite si tu veut
    
    //c'est OK j'attribue la varaible $reponseb
    $reponseb=$_get['reponseb'];
    
    //connexion
    $var=mysql_connect("localhost","root","");
    
    //selection de ta base
    mysql_select_db("test",$var);
    
    //insertion
    $sql = 'INSERT INTO reponse3('reponseb') VALUES ("$reponseb")';  
    
    
    $result = mysql_query($req);
    //on verifie que l'insertion c'est bien passée
    if(!$result)
    {
    //la reponse est pas enregistrée
    echo 'la réponse n'est pas prise en compte';
    exit();
    }
        else
      {
       //l'insertion s'est bien passée
        echo 'la réponse est enregistrée';
        mysql_close(); 
      //tu met un bouton de retour ou tu redirige vers une autre page
       }
    ?>
    


    voila ca devrais fonctionner
    0
  10. najia87 Messages postés 44 Statut Membre 3
     
    merci lewis
    jai fais ce que tu ma dis mais
    le code me donne une erreur
    <?
    //on verifie que la reponse est bien presente
    if (isset($_POST['reponseb']))
    //tu peut faire d'autre verification ensuite si tu veut

    //c'est OK j'attribue la varaible $reponseb
    $reponseb=$_post['reponseb'];

    //connexion
    $var=mysql_connect("localhost","root","");

    //selection de ta base
    mysql_select_db("test",$var);

    //insertion
    $sql = "INSERT INTO reponse3(reponseb) VALUES ("$reponseb")"; //ligne de lerreur

    $result = mysql_query($req);
    //on verifie que l'insertion c'est bien passée
    if(!$result)
    {
    //la reponse est pas enregistrée
    echo 'la réponse n'est pas prise en compte';
    exit();
    }
    else
    {
    //l'insertion s'est bien passée
    echo 'la réponse est enregistrée';
    mysql_close();
    //tu met un bouton de retour ou tu redirige vers une autre page
    }
    ?>
    0
  11. lewis34 Messages postés 2557 Date d'inscription   Statut Membre Dernière intervention   352
     
    c'est quoi comme erreur ?
    0
  12. najia87 Messages postés 44 Statut Membre 3
     
    bonjour
    voila la ligne d'erreur
    $sql = "INSERT INTO reponse3(reponseb) VALUES ("$reponseb")";
    je ne sais pas pq il me donne lerreur ici
    0
  13. lewis34 Messages postés 2557 Date d'inscription   Statut Membre Dernière intervention   352
     
    j'ai plus l'habitude avec mysqli mais essaye comme ca

    $sql = 'INSERT INTO reponse3 (reponseb) VALUES ("$reponseb")';
    0
  14. najia87 Messages postés 44 Statut Membre 3
     
    merci lewis
    j ai essai mais ca marche pas et j ai change le code pars ce code la
    fichier quest .php
    <html>
    <body>
    <form method=post action=quest_re.php>
    <?php
    $i=1;
    $var=mysql_connect("localhost","root","");
    mysql_select_db("test",$var);
    $sql="select question from examen3";
    $result=mysql_query($sql);
    WHILE ($tab = mysql_fetch_array($result) )
    {
    echo "$i question numero: $i $tab[question] <br>";
    ?>
    <DD><INPUT type="text" name='<?php $i; ?>' ></font><p><font color="#ff0000"></DD>
    <?php

    $i++;} ?>

    <DD><INPUT type="text" name=nbre value=<?php echo"$i ";?> > </font><p><font color="#ff0000"></DD>

    <td><input type="submit" value="envoyer" name="submit"></td>

    <!--on ferme le formailre-->
    </form>
    </body>
    </html>

    et l autre fichier quesr_re.php
    <?php
    if(isset($_post[$nbre]))
    $i=$nbre;

    $var=mysql_connect("localhost","root","");
    mysql_select_db("test",$var);

    while($i!=0)
    {
    if(isset($_post['$i']))
    $rep_quest=$_post['$i'];
    $sql_2="Insert into reponse3(reponseb) values('$rep_quest')";
    $result_2=mysql_query($sql);
    $i--;
    }
    ?>

    et les faute qui me donne sont:
    Notice: Undefined variable: nbre in c:\program files\easyphp1-8\www\comm\quest_re.php on line 2

    Notice: Undefined variable: i in c:\program files\easyphp1-8\www\comm\quest_re.php on line 8
    merci pour vos aide
    0
  15. lewis34 Messages postés 2557 Date d'inscription   Statut Membre Dernière intervention   352
     
    re ,
    oui logique que $nbre soit indefini

    tu met ca ===>$i=$nbre;
    met plutot ca===>$i=$_POST['$nbre'];

    et la tu met ca =>if(isset($_post['$i']))
    $rep_quest=$_post['$i'];

    met plutot ca==>if(isset($_post['nbre']))
    $rep_quest=$i;

    dans ton formulaire met bien les " autour de ta balise form action="

    tiens moi au courant
    @+
    0
  16. najia87 Messages postés 44 Statut Membre 3
     
    merci pour tout
    mon probleme reste le meme
    Notice: Undefined variable: nbre in c:\program files\easyphp1-8\www\comm\quest_re.php on line 2

    Notice: Undefined variable: i in c:\program files\easyphp1-8\www\comm\quest_re.php on line 8
    merci pour vos aide'
    0
  17. lewis34 Messages postés 2557 Date d'inscription   Statut Membre Dernière intervention   352
     
    re ,
    je pense que c'est dans ton formulaire

    d'un coté tu met ca
    1) <DD><INPUT type="text" name='<?php $i; ?>' ></font><p><font color="#ff0000"></DD>
    et apres tu met ca
    2) <DD><INPUT type="text" name=nbre value=<?php echo"$i ";?> > </font><p><font color="#ff0000"></DD>

    essaye de changer le 1
    par
    1) <td><INPUT type="text" name=id value=<? echo id recupere ?></font><p><font color="#ff0000"></td>

    et dans ton fichier php tu recupere la variable post_id
    $id==_post['id']; //c'est l'id de ta question
    $rep_quest=$_post['$i']; //c'est la reponse

    ta requete
    $sql_2="Insert into reponse3(reponseb) values('$rep_quest') WHERE id='$id'";
    0
  18. najia87 Messages postés 44 Statut Membre 3
     
    merci et pardonne moi ;;

    j ai essaye mais il me donne encord des erreur cette foi si me donne sur le fichier quest.php
    cette erreur(Parse error: parse error, expecting `','' or `';'' in c:\program files\easyphp1-8\www\comm\quest.php on line 14
    et l autre fichier me donne aussi une erreur (Parse error: parse error in c:\program files\easyphp1-8\www\comm\quest_re.php on line 4
    merci pour vos aide
    0
    1. lewis34 Messages postés 2557 Date d'inscription   Statut Membre Dernière intervention   352
       
      bonjour regarde dans ton script à quelle ligne ca correspond ?
      0
  19. najia87 Messages postés 44 Statut Membre 3
     
    merci pour vos aides lewis;

    voila le code que jai utilise dans le 2eme fichier

    <?php
    if(isset($_post[$nbre])and (isset($_post[$id]))
    $i=$_post[$nbre];
    $id==$_post[$id]; //c'est l'id de La question
    $rep_quest=$_post[$i]; //c'est la reponse

    $var=mysql_connect("localhost","root","");
    mysql_select_db("test",$var);

    while($i!=0)
    {
    if(isset($_post['nbre']))
    $rep_quest=$i;
    $sql_2="Insert into reponse3(reponseb) values('$rep_quest') WHERE id='$id'";
    $result_2=mysql_query($sql);
    $i--;
    }
    ?>
    mais il me donne lerreur dans cette ligne
    $i=$_post[$nbre];
    merci ;
    0
  20. lewis34 Messages postés 2557 Date d'inscription   Statut Membre Dernière intervention   352
     
    bonjour ,
    rajoute des ' ici

    $i=$_post['$nbre '] ;

    et modifie ca

    while($i!=0) en while(!$i=0)
    @+
    0
  21. najia87 Messages postés 44 Statut Membre 3
     
    merci et pardonne moi ;;

    j ai essaye mais l erreur reste le meme sur le fichier quest.php
    cette erreur(Parse error: parse error, expecting `','' or `';'' in c:\program files\easyphp1-8\www\comm\quest.php on line 14
    et l autre fichier me donne comme erreur
    Notice: Undefined variable: nbre in c:\program files\easyphp1-8\www\comm\quest_re.php on line 2

    Notice: Undefined variable: id in c:\program files\easyphp1-8\www\comm\quest_re.php on line 4

    Notice: Undefined variable: _post in c:\program files\easyphp1-8\www\comm\quest_re.php on line 4

    Notice: Undefined variable: _post in c:\program files\easyphp1-8\www\comm\quest_re.php on line 5

    Notice: Undefined variable: i in c:\program files\easyphp1-8\www\comm\quest_re.php on line 11

    aide moi stp
    0
  • 1
  • 2