Ka32 Posté 27 Juin 2005 Partager Posté 27 Juin 2005 (modifié) Bonjour, Je souhaite mettre en place un outils pour un jeu mais en fait j'ai un problème : Etape 1 : J'ajoute une demande via un formulaire ... <form action="add.php" method="POST" enctype="multipart/form-data"> <table width="80%" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td height="474"><table width="73%" border="1" align="center" cellpadding="0" cellspacing="1" bordercolor="#FFFFFF"> <tr> <td bordercolor="#000000" bgcolor="#3399FF"><div align="center"><strong><font size="2" face="Arial, Helvetica, sans-serif">Ajouter une demande</font></strong></div></td> </tr> <tr> <td height="520" bordercolor="#000000"><table width="100%" border="0" align="center" cellpadding="3" cellspacing="0"> <tr> <td width="37%" height="19"><p><font size="2" face="Arial, Helvetica, sans-serif">Pseudo: </font></p></td> <td width="63%"><font size="2" face="Arial, Helvetica, sans-serif"> <input name="titre" type="text"> <input type="hidden" name="id" value="1"> </font></td> </tr> <tr> <td height="30"><font size="2" face="Arial, Helvetica, sans-serif">Quantité de métal offert</font></td> <td><font size="2" face="Arial, Helvetica, sans-serif"> <input name="qtmd" type="text"> </font></td> </tr> <tr> <td height="30"><font size="2" face="Arial, Helvetica, sans-serif">Quantité de cristal offert</font></td> <td><font size="2" face="Arial, Helvetica, sans-serif"> <input name="qtcd" type="text"> </font></td> </tr> <tr> <td height="30"><font size="2" face="Arial, Helvetica, sans-serif">Quantité de deutérium offert</font></td> <td><font size="2" face="Arial, Helvetica, sans-serif"> <input name="qtdd" type="text"> </font></td> </tr> <tr> <td height="19"><font size="2" face="Arial, Helvetica, sans-serif">Planète de destination</font></td> <td><font size="2" face="Arial, Helvetica, sans-serif"> <input name="planet" type="text"> </font></td> </tr> <tr> <td height="25"> </td> <td height="25"><input type="submit" name="Submit" value="Envoyer"></td> </tr> </table></td> </tr> </table></td> </tr> </table></form> Etape 2 : j'enregistre les infos : <?include("config.php"); $db = mysql_connect($host,$login,$pass); mysql_select_db($base,$db); mysql_query("INSERT INTO article(id,titre,qtmd,qtcd,qtdd,planet) VALUES('','$titre','$qtmd','$qtcd','$qtdd','$planet')"); mysql_close(); header("Location: index.php"); ?> Etape 3: je les affiches <?include("config.php");$identification= MYSQL_CONNECT($host,$login,$pass); mysql_select_db($base); $query = "SELECT * FROM article "; $result = _AT_mysql_query($query,$identification); while ($row = _AT_mysql_fetch_array($result))/* récupération des valeurs dans un tableau */ { $id = $row["id"];$titre = $row["titre"];$qtmd = $row["qtmd"];$qtcd = $row["qtcd"];$qtdd = $row["qtdd"];$planet = $row["planet"];$receveur = $row["receveur"];?><table width="100%" height="201" border="1" align="center" cellpadding="0" cellspacing="1" bordercolor="#FFFFFF"> <tr> <td bordercolor="#000000" bgcolor="#0099FF"><div align="center"><font size="2" face="Arial, Helvetica, sans-serif"><strong><? echo"$id"; ?></strong></font></div></td> </tr> <tr> <td height="178" bordercolor="#000000"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td height="20" colspan="2"><font size="2" face="Arial, Helvetica, sans-serif"><strong>Pseudo :</strong> <? echo"$titre"; ?></font></td> </tr> <tr> <td colspan="2"><font size="2" face="Arial, Helvetica, sans-serif"><strong>Quantité de métal offert :</strong><? echo"$qtmd"; ?></font></td> </tr> <tr> <td colspan="2"><font size="2" face="Arial, Helvetica, sans-serif"><strong>Quantité de cristal offert :</strong> <? echo"$qtcd"; ?></font></td> </tr> <tr> <td colspan="2"><font size="2" face="Arial, Helvetica, sans-serif"><strong>Quantité de deuterium offert :<? echo"$qtdd"; ?></strong></font></td> </tr> <tr> <td height="10" colspan="2"><font size="2" face="Arial, Helvetica, sans-serif"></font></td> </tr> <tr> <td colspan="2"><font size="2" face="Arial, Helvetica, sans-serif"><strong>Planet donnatrice : : </strong><? echo"$planet"; ?></font></td> </tr> <tr> <td colspan="2"><font size="2" face="Arial, Helvetica, sans-serif"><strong>receveur: :</font><font color="red"><? echo"$receveur"; ?> </strong></font></td> </tr> <a href="receveur.php">Modifier receveur</a> </table></td> </tr></table> <?}?> Etape 4: je veux modifier via un autre formulaire : <?include("config.php");$identification= MYSQL_CONNECT($host,$login,$pass); mysql_select_db($base); $query = "SELECT * FROM article "; $result = _AT_mysql_query($query,$identification); $id = $_GET['id'];?><form action="add2.php" method="POST" enctype="multipart/form-data"> <table width="80%" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td height="474"><table width="73%" border="1" align="center" cellpadding="0" cellspacing="1" bordercolor="#FFFFFF"> <tr> <td bordercolor="#000000" bgcolor="#3399FF"><div align="center"><strong><font size="2" face="Arial, Helvetica, sans-serif">Ajouter une demande</font></strong></div></td> </tr> <tr> <td height="520" bordercolor="#000000"><table width="100%" border="0" align="center" cellpadding="3" cellspacing="0"> <tr> <td width="37%" height="19"><p><font size="2" face="Arial, Helvetica, sans-serif">Pseudo: </font></p></td> <td width="63%"><font size="2" face="Arial, Helvetica, sans-serif"> <input name="receveur" type="text"> </font></td> </tr> <tr> <td height="25"> </td> <td height="25"><input type="submit" name="Submit" value="Envoyer"></td> </tr> </table></td> </tr> </table></td> </tr> </table></form> Etape 5 : j'essaye de les enregistrer sur l'ID en question : <?include("config.php"); $db = mysql_connect($host,$login,$pass); mysql_select_db($base,$db); mysql_query("UPDATE article SET receveur = '$receveur' WHERE id='$id' "); mysql_close(); header("Location: index.php"); ?> Mais rien ne se passe je ne comprend pas... Certes je suis pas tres fort mais quand meme je trouve pas la solution... Modifié 27 Juin 2005 par Ka32 Lien vers le commentaire Partager sur d’autres sites More sharing options...
kjbstar Posté 27 Juin 2005 Partager Posté 27 Juin 2005 Hello, C'est parce que tu n'as pas inclus l'ID dans le form d'edition de receveur, donc forcement il ne le recoit pas. Inclus le dans un champ caché du formulaire, je pense que ca devrait regler le problème. Rien à voir, mais tu devrais inclure tes connections à la base dans ton config.php, c'est plus simple plutot que de le repeter à chaque fois kjb Lien vers le commentaire Partager sur d’autres sites More sharing options...
Ka32 Posté 27 Juin 2005 Auteur Partager Posté 27 Juin 2005 cela ne change rien... oui je vais inclure cela dans config.php En fait il faut qu'il remplisse le champs vide apres avoir entrer le pseudo dans receveur.php mais cela ne marche pas Lien vers le commentaire Partager sur d’autres sites More sharing options...
dièse Posté 27 Juin 2005 Partager Posté 27 Juin 2005 (modifié) Visiblement tu ne transmet pas ton identifiant (que tu stockes dans la variable $id dans ton script 4), à ton script 5 Si ça ne représente pas un souci de sécurité pour toi , tu peux tout simplement utiliser : <input type="hidden" name="id" value="<?= $id;?>"> Edit : Je suis incroyablement long pour écrire un post . Ca change rien, soit, mais il faut peut-être mieux le faire quand même Modifié 27 Juin 2005 par dièse Lien vers le commentaire Partager sur d’autres sites More sharing options...
Ka32 Posté 27 Juin 2005 Auteur Partager Posté 27 Juin 2005 cela ne marche toujours pas : <?include("config.php");$identification= MYSQL_CONNECT($host,$login,$pass); mysql_select_db($base); $query = "SELECT * FROM article "; $result = _AT_mysql_query($query,$identification); $id = $_GET['id'];?><form action="add2.php" method="POST" enctype="multipart/form-data"> <table width="80%" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td height="474"><table width="73%" border="1" align="center" cellpadding="0" cellspacing="1" bordercolor="#FFFFFF"> <tr> <td bordercolor="#000000" bgcolor="#3399FF"><div align="center"><strong><font size="2" face="Arial, Helvetica, sans-serif">Ajouter une demande</font></strong></div></td> </tr> <tr> <td height="520" bordercolor="#000000"><table width="100%" border="0" align="center" cellpadding="3" cellspacing="0"> <tr> <td width="37%" height="19"><p><font size="2" face="Arial, Helvetica, sans-serif">Pseudo: </font></p></td> <td width="63%"><font size="2" face="Arial, Helvetica, sans-serif"> <input name="receveur" type="text"> <input type="hidden" name="id" value="<?= $id;?>"> </font></td> </tr> <tr> <td height="25"> </td> <td height="25"><input type="submit" name="Submit" value="Envoyer"></td> </tr> </table></td> </tr> </table></td> </tr> </table></form> Lien vers le commentaire Partager sur d’autres sites More sharing options...
Xtouch Posté 27 Juin 2005 Partager Posté 27 Juin 2005 Salut, Dans ton script 5, il faut rajouter dans ce cas la ligne suivante : $id = $_POST[id]; Et là ça va marcher Lien vers le commentaire Partager sur d’autres sites More sharing options...
Ka32 Posté 27 Juin 2005 Auteur Partager Posté 27 Juin 2005 non lol Lien vers le commentaire Partager sur d’autres sites More sharing options...
Ka32 Posté 27 Juin 2005 Auteur Partager Posté 27 Juin 2005 Cela ne change rien a ma base de donnée... Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sarc Posté 27 Juin 2005 Partager Posté 27 Juin 2005 Bonjour... Il y a un bouton éditer pour ne pas écrire plusieurs posts à la suite... Bon, on va procéder dans l'ordre : l'étape pour insérer les infos dans la BDD marche sans problème ? Tout est bien affiché dans l'étape 3 ? Bon, une méthode qu'apparemment tu n'appliques pas : sépare ta requète de son exécution. Dans l'étape 5, à la place de : mysql_query("UPDATE article SET receveur = '$receveur' WHERE id='$id' "); mets : $requete = "UPDATE article SET receveur = '$receveur' WHERE id='$id' ";echo $requete; Tu pouras déjà voir à quel niveau se situe le problème ! Il se situe sûrement du côté de l'id, m'enfin on ne sait jamais... Dans l'étape 4, quelle est l'url de ta page ? Du type modifier.php?id=xx ? Voilà répond déjà à tout ça, on pourra mieux voir après... (HS : tu nous fais un remake de ogame ? ) Lien vers le commentaire Partager sur d’autres sites More sharing options...
Ka32 Posté 27 Juin 2005 Auteur Partager Posté 27 Juin 2005 Ecrire dans la BDD = OK <?include("config.php"); $db = mysql_connect($host,$login,$pass); mysql_select_db($base,$db); $id = $_POST[id]; mysql_query($requete); $requete = "UPDATE article SET receveur = '$receveur' WHERE id='$id' ";echo $requete; mysql_close(); header("Location: index.php"); ?> Voila ca c'est fait... L'url de ma page ne comporte pas ce genre de trucs... Cela ne change toujours rien... il n'ecrit pas dans la base de donnée le receveur... HS: ui je fait un outil pour ogame... Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sarc Posté 27 Juin 2005 Partager Posté 27 Juin 2005 L'url de ma page ne comporte pas ce genre de trucs... Je vois pas alors comment tu fais passer ton id... Tu mets $id = $_GET['id']; , donc c'est que tu vas chercher l'argument id dans ton URL non ? Si elle n'est pas du type ?id=xx, ta variable $id sera vide... Donc c'est pas là qu'il y a un problème tout simplement ? Cela ne change toujours rien... il n'ecrit pas dans la base de donnée le receveur... Normal... Ce que je t'ai donné, c'est pour écrire la requète à l'écran : il faut donc lancer ton programmer et voir la requète qu'il écrit à l'écran... A partir de ça, tu peux trouver ton erreur Lien vers le commentaire Partager sur d’autres sites More sharing options...
Ka32 Posté 27 Juin 2005 Auteur Partager Posté 27 Juin 2005 mais l'ID c'est le numero qu'il definie pour une etiquette automatiquement... ce que je desire c'est que lorsque on appuis sur le bouton modifier il modifie le numero de la fiche en question... Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sarc Posté 27 Juin 2005 Partager Posté 27 Juin 2005 Je ne comprend pas tout ce que tu me dis, mais ce que je sais c'est que si ton url n'a pas d'id comme argument, ton $id=$_GET[id] ne sert à rien, et n'aura pas de valeur... Donc ta requète SQL ne pourra pas marcher normalement ! Montre à quoi ressemble ton URL qui contient le formulaire de l'étape 4. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant