Prob insert
najia87 Messages postés 44 Statut Membre -
<?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
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.
-
-
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
@+ -
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();
?> -
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 -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
faut que j'y aille
je t'oublie pas ,je te met un petit topo demain
@+ -
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 ;-)-
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
-
-
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
:) -
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 -
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
}
?> -
c'est quoi comme erreur ?
-
bonjour
voila la ligne d'erreur
$sql = "INSERT INTO reponse3(reponseb) VALUES ("$reponseb")";
je ne sais pas pq il me donne lerreur ici -
j'ai plus l'habitude avec mysqli mais essaye comme ca
$sql = 'INSERT INTO reponse3 (reponseb) VALUES ("$reponseb")'; -
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 -
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
@+ -
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' -
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'"; -
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 -
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 ; -
bonjour ,
rajoute des ' ici
$i=$_post['$nbre '] ;
et modifie ca
while($i!=0) en while(!$i=0)
@+ -
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
- 1
- 2