Probleme textarea dans formulaire
Résolu
moucaaa
Messages postés
12
Date d'inscription
Statut
Membre
Dernière intervention
-
mpmp93 Messages postés 6648 Date d'inscription Statut Membre Dernière intervention -
mpmp93 Messages postés 6648 Date d'inscription Statut Membre Dernière intervention -
Bonjour, je suis entrain de realiser un questionnaire dynamique en php/mysql
dans l'interface d'ajout j'ai un probleme , je veut recuperer les possibilités de reponse dans un champs textarea chaque ligne contient une possibilté et après je veut que ses valeurs s'enregistre dans la table reponse chaqu'une dans un enregistrement mais j'ai pas trouvé la solution .
c'est la pge de formulaire d'ajout:
Le code de traitement de formulaire
SVP ,pouvez vous m'aidez ET MERCI
dans l'interface d'ajout j'ai un probleme , je veut recuperer les possibilités de reponse dans un champs textarea chaque ligne contient une possibilté et après je veut que ses valeurs s'enregistre dans la table reponse chaqu'une dans un enregistrement mais j'ai pas trouvé la solution .
c'est la pge de formulaire d'ajout:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><head> <link type="text/css" rel="StyleSheet" href="admin/style.css"> <title> Questionnaire E-Learning </title> <script type="text/javascript"> function THEFUNCTION(i) { var choix1 = document.getElementById('choix1'); switch(i) { case 0 : choix1.style.display = ''; choix2.style.display = 'none'; break; case 1 : choix2.style.display = ''; choix1.style.display = 'none'; break; default: choix1.style.display = 'none'; choix2.style.display = 'none'; break; } } </script> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> </head> <body bgcolor='#0099CC' link='#000080' vlink='#000080' alink='#FFFF00'><font face='verdana' size='2'> <table width='95%' align='center' style='border-collapse: collapse' bordercolor='#0A47FF' bgcolor='#E5F9FF' border='1' cellspacing='0'> <tr> <td> <form action="traitementadd.php" name="form_add" method="post" class="formulaire"><!-- START THE SURVEY --> <table width='100%' align='center' cellspacing='0' cellpadding='2'> <tr> <td align='center' bgcolor='#E5F9FF'><font size='5' color='#0A47FF'><b>Questionnaire Evaluation de la Qualité du Processus d'Apprentissage d'un cours en ligne</b></font><br /> <font size='2' color='#111111'>Software Engineering Group<br>Departement informatique<br> Institut Superieur de gestion </td> </tr> <tr> <td align='center' bgcolor='#0099CC' valign='middle'> </td> </tr> </table> <!-- START THE GROUP --> <table width='99%' align='center' border='0' bgcolor='#FFFFFF'> <tr> <td align='center'> <font face='verdana' size='3' color='#0A47FF'><b><br />La satisfaction de l'apprenant </b></font> <!-- PRESENT THE QUESTIONS --> <!-- NEW QUESTION --> <div id='question123'> <table width='75%' align='center' border='1' style='border-collapse: collapse' bordercolor='#0099CC' bgcolor='white'> <tr> <td align='center'> <table width='100%' cellspacing='0'> <tr> <td align='center' bgcolor='#E5F9FF'> <font size='2' color='#0033CC'><b><label for='5X21X123'>Ajouter une question<b></label></b></td> </tr> <tr> <td align='center'> <table class='question'> <td align="center" class="answertext">Categorie :</td> <td> <select name="categories" id="categories" size="1"> <option name="" value="0"></option> <?php include("connect.php"); mysql_query("SET NAMES UTF8"); $sql="SELECT * FROM categorie"; $req=mysql_query($sql) or die('Erreur SQL ! '.$sql.' '.mysql_error()); while($resultat=mysql_fetch_assoc($req)) { $id_categorie=$resultat['id_categorie']; $libelle_cat=$resultat['libelle_cat']; echo '<option value="'.$id_categorie.'">'.$libelle_cat; } ?> </option> </select> <br /> </td> </tr> <tr> <td align="center" class="answertext">Libellé question :</td> <td><input type="text" id="libelle_quest" name="libelle_quest"/> <br /> </td> </tr> <tr> <td align="center" class="answertext">Name:</td> <td><input type="text" id="Name" name="Name"/> <br /> </td> </tr> <tr> <td align="center" class="answertext">Réponse :</td> <td><select name="type" id="type" onChange="THEFUNCTION(this.selectedIndex);"> <option value="Multichoix">Multichoix</option> <option value="choix unique">Choix unique</option> <option value="champs texte">Champs texte</option> </select> <br /> </td> </tr> <tr> <td align="center" class="answertext">Réponse :</td> <td><div style="display:none;" id="choix1"> <label for="Multichoix">Multichoix: </label> <textarea name="Multichoix" id="Multichoix" ></textarea> </div> <div style="display:none;" id="choix2"> <label for="choix_unique">choix unique:</label> <textarea name="choix_unique" id="choix_unique"></textarea> </div> </td> </tr> <td> </td> </tr> </table></td> </tr> <tr> <td align='center' bgcolor='#E5F9FF'> <font size='1'></font> </td> </tr> </table> </td> </tr> </table> <table> <tr> <td height='1'></td> </tr> </table> </div> <!-- END THE GROUP --> </td> </tr> </table> <table><tr><td height='2'></td></tr></table> <!-- PRESENT THE NAVIGATOR --> <table width='100%' align='center' bgcolor='#E5F9FF'> <tr> <td width="50%" height="40" align='center' valign='middle'><input class='submit' type='submit' value=' Ajouter' name='move2' accesskey="s"/></td> </tr> </table> <!-- group2.php --> </form> </td> </tr> </table> <table width='95%' align='center' style='border-collapse: collapse' bordercolor='#333333' bgcolor='#0099CC' border='0' cellspacing='0'> <tr> <!-- <td align='right'><font size='2'> --> <!-- Adopted from <a href='http://www.phpsurveyor.org/' target='_blank'>PHPSurveyor</a> --> <!-- </td> --> </tr> </table> </body> </html>
Le code de traitement de formulaire
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Ajout d'une question</title> </head> <body> <?php include("connect.php"); mysql_query("SET NAMES UTF8"); $id_categorie=$_POST["categories"]; $libelle_quest=$_POST["libelle_quest"]; $type=$_POST["type"]; $sql1 = "INSERT INTO question (id_categorie,libelle_quest,type) VALUES ('$id_categorie','$libelle_quest','$type') ;"; mysql_query($sql1) or die('Erreur SQL ! '.$sql1.' '.mysql_error()); if(mysql_query($sql1) ) $id_question = mysql_insert_id(); if($type=="Multichoix") { $reponse=$_POST["Multichoix"]; explode("/n",$reponse); } if($type=="choix unique"){ $reponse=$_POST["choix_unique"]; explode("/n",$reponse); } echo $reponse; $sql2 = "INSERT INTO reponse (libelle_rep,id_question) VALUES ('$reponse','$id_question') ;"; mysql_query($sql2) or die('Erreur SQL ! '.$sql2.' '.mysql_error()); header('location:questions.php'); ?> </body> </html>
SVP ,pouvez vous m'aidez ET MERCI
A voir également:
- Probleme textarea dans formulaire
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook - Guide
- Formulaire de reclamation instagram - Guide
- Confirmer le nouvel envoi du formulaire err_cache_miss - Forum Webmastering
- Problème avec Google Chrome - Forum Google Chrome
2 réponses
Bonjour,
Déja une erreur grossière ici:
Cette ligne doit être invoquée AVANT TOUTE EMISSION DE CARACTERE(S)!!!!
Or vous avez des <html> et toute la suite. Ca ne fonctionnera pas.
Cordialement
Déja une erreur grossière ici:
header('location:questions.php');
Cette ligne doit être invoquée AVANT TOUTE EMISSION DE CARACTERE(S)!!!!
Or vous avez des <html> et toute la suite. Ca ne fonctionnera pas.
Cordialement
Bon pour j'ai corrigé l'erreur ,mais pour l(ajout des questions ça fonctionne bien et pour la recuperation des reponse ça fonction mais je veut que chaque ligne de texte area s'enregistre dans une ligne dans ma base de données
Bonjour,
Concernant: 'chaque ligne de texte area s'enregistre dans une ligne dans ma base de données'....
Je trouve ceci peu pertinent comme démarche. Stockez votre texte dans un seul champ. En sortie, vous faites un str-replace des \r par rien et vous faites un explode en prenant comme délimiteur le pseudo-caractère \n
A+
Concernant: 'chaque ligne de texte area s'enregistre dans une ligne dans ma base de données'....
Je trouve ceci peu pertinent comme démarche. Stockez votre texte dans un seul champ. En sortie, vous faites un str-replace des \r par rien et vous faites un explode en prenant comme délimiteur le pseudo-caractère \n
A+
Bonjour,
NON, il ne faut pas faire un:
$r1=explode("\r\n",$reponse);
car selon les systèmes, le retour à la ligne est un \n (sous Linux) ou un \r\n (sous Windows...).
Avec un Str_replace des \r par rien, vous ne gardez que les \n et faites ensuite un explode sur \n.
Ainsi, que le visiteur soit sous Linux ou Windows, le script marchera toujours....
NON, il ne faut pas faire un:
$r1=explode("\r\n",$reponse);
car selon les systèmes, le retour à la ligne est un \n (sous Linux) ou un \r\n (sous Windows...).
Avec un Str_replace des \r par rien, vous ne gardez que les \n et faites ensuite un explode sur \n.
Ainsi, que le visiteur soit sous Linux ou Windows, le script marchera toujours....