WhiskyWalker Posté 2 Mai 2006 Partager Posté 2 Mai 2006 Bonjour j'ai un petit problème avec le code de cette page : <?phpfunction sqlval($text){ $text = (!get_magic_quotes_gpc())?addslashes($text):$text; return $text;}include("../connect.php");if(isset($_POST['ajout'])){ $id = intval($_GET['id']); $nom_port = $_POST['nom']; $adresse = $_POST['adresse']; $codepostal = $_POST['codepostal']; $ville = $_POST['ville']; $requete_ins = mysql_query("INSERT INTO $tablePort(nom_port,adresse,codepostal,ville) VALUES(\"".sqlval($nom_port)."\", \"".sqlval($adresse)."\", \"".sqlval($codepostal)."\", \"".sqlval($ville)."\")") or die(mysql_error()); header("Location: list_port.php");}?><html><head><title>Naviland - Administration</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><link rel="stylesheet" href="../styles.css" type="text/css"><script language="Javascript" src="fonctions.js"></script><script language="Javascript" src="barreoutils.js"></script></head><body><br><fieldset> <legend><img src="../imgs/nav/fd.gif" width="6" height="9"> <a href="list_port.php" class="Lpage">Retour</a> - Ajouter un port de départ</legend><br><table width="100%" border="0" cellpadding="0" cellspacing="1"> <form name="form_ajout" method="post" action="ajout_port.php" onSubmit="return fnVerifPort();"> <tr> <td class="barreProd2" colspan="4" align="left" background="../imgs/nav/apBarre.gif"> <b>Ajouter un nouveau port :</b> </td> </tr> <tr> <td class="barreProd2" bgcolor="#E8E8D9"><b><img src="../imgs/nav/f.gif" width="6" height="9"> Nom :</b></td> <td class="barreProd2" bgcolor="#F3F3E9" colspan="3"><input type=text name="nom" size="20"></td> </tr> <tr> <td class="barreProd2" bgcolor="#E8E8D9"><b><img src="../imgs/nav/f.gif" width="6" height="9"> Adresse :</b></td> <td class="barreProd2" bgcolor="#F3F3E9" colspan="3"><input type=text name="adresse" size="30"></td> </tr> <tr> <td class="barreProd2" bgcolor="#E8E8D9"><b><img src="../imgs/nav/f.gif" width="6" height="9"> Code Postal :</b></td> <td class="barreProd2" bgcolor="#F3F3E9" colspan="3"><input type=text name="codepostal" size="10"></td> </tr> <tr> <td class="barreProd2" bgcolor="#E8E8D9"><b><img src="../imgs/nav/f.gif" width="6" height="9"> Ville :</b></td> <td class="barreProd2" bgcolor="#F3F3E9" colspan="3"><input type=text name="ville" size="10"></td> </tr> <tr> <td class="barreProd2" colspan="4" align="center" background="../imgs/nav/apBarre.gif"> <img src="../imgs/nav/f.gif" width="6" height="9"> <input type="button" class="bouton" name="ajout" value="Terminer" onClick="document.location.href='ajout_port.php'"> </td> </tr></form></table><br><br></fieldset></body></html> Quand j'arrive sur cette page, je veux rentrer un nouveau port mais quand je clique sur le bouton Terminer, rien ne se passe, ou plutôt la page se recharge sans ajouter le port dans la bdd (donc j'imagine que ça ne rentre pas dans le if(isset($_POST['nom'])) mais là j'ai un peu de mal à trouver d'où vient mon oubli EDIT TheRec/Modérateur: L'utilisation de la balise BBCode CODEBOX est plus appropriée lorsque le code à présenter est aussi long. Merci de l'utiliser dans ces cas. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sarc Posté 2 Mai 2006 Partager Posté 2 Mai 2006 Le code ! Hum, déjà, mets des guillemets pour tous les attributs, même type=text, il a le droit à des guillemets décents pour lui... Bon, je ne parle pas des tableaux, des attributs de couleurs, etc qui sont en trop. Tu vas me dire hors-sujet ? Non, pas spécialement, plus le code est lourd, plus débuguer et trouver des erreurs est difficile, c'est pour ça qu'il faut aller au plus simple normalement. Dernière chose, tu peux utiliser un bouton submit pour valider ton formulaire, là tu le valides en Javascript, ce qui n'est pas une bonne chose ! <input type="submit" name="valider" value="Envoyer" /> Quand tu sais pas si un if est bien pris en compte, ce que tu peux faire, c'est mettre un echo tout au début de ton if.. Par exemple, mets ce code : if(isset($_POST['ajout'])){echo "Test";exit(); Tu testes ta page, tu regardes si le Test a été marqué. Si oui, alors teste au niveau de la connexion à ta BDD, fais un echo de ta requète, etc... Si non, alors teste la valeur de $_POST['ajout'] avant ton if, pour voir ce qui est retourné, etc, etc... Débuguer une page, c'est avant tout tester par où passe ton programme, quelle ligne pose problème, puis trouver le problème dans cette ligne. Voilà le raisonnement à apprendre pour s'en sortir Lien vers le commentaire Partager sur d’autres sites More sharing options...
WhiskyWalker Posté 3 Mai 2006 Auteur Partager Posté 3 Mai 2006 Merci bien pour tes précieux conseils. Bon là il est temps d'aller au dodo, j'verrais ça demain. Lien vers le commentaire Partager sur d’autres sites More sharing options...
WhiskyWalker Posté 3 Mai 2006 Auteur Partager Posté 3 Mai 2006 (modifié) Hum, déjà, mets des guillemets pour tous les attributs, même type=text, il a le droit à des guillemets décents pour lui... En fait j'en met tout le temps, là c'était un oubli sur le 1er et avec le copier-coller ben... Dernière chose, tu peux utiliser un bouton submit pour valider ton formulaire, là tu le valides en Javascript, ce qui n'est pas une bonne chose ! <input type="submit" name="valider" value="Envoyer" /> Si je met ça, ça va me recharger automatiquement la page en vue de rentrer dans le "if" (et de passer par le header après) ? Edit : c'est bon j'ai réussi. Merci bien pour tes conseils Modifié 3 Mai 2006 par WhiskyWalker 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