Forum Clubic

Message d'erreur "Undefined variable"

bonjour tout le monde
voila, j’ai trouvé un exemple que j’ai voulu refaire
lorsque je refais l’exemple à l’identique il fonctionne, lorsque à l’exemple j’ajoute quelque chz ça foire…
l’exemple en question est un formulaire (qui contient pseudo et message) qui permet d’ajouter ces données sur la table “abcd” qui contient les champs id, pseudo et message (id est en auto-incrément)…
le probleme c’est que quand j’ajoute le champs nom ça ne marche plus, bizard,
il me met le message “Notice: Undefined variable: nom in d:\lesite\minichat.php on line 31”

pouvez-vous m’aider svp
(je peux vous donner éventuellement les deux codes pour comparer)
merci
Edité le 26/07/2007 à 17:37

Bah ce serait bien, ouais.

ok
voici le premier: (avec celui ça marche sans bobos)

Mini-chat form { text-align:center; } <?php if (isset($_POST['pseudo']) AND isset($_POST['message'])) // Si les variables existent { if ($_POST['pseudo'] != NULL AND $_POST['message'] != NULL) // Si on a quelque chose à enregistrer { // D'abord, on se connecte à MySQL mysql_connect("localhost", "root", ""); mysql_select_db("nab"); // On utilise les fonctions PHP mysql_real_escape_string et htmlspecialchars pour la sécurité $message = mysql_real_escape_string(htmlspecialchars($_POST['message'])); $pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo'])); // Ensuite on enregistre le message mysql_query("INSERT INTO minichat VALUES('', '$pseudo', '$message')"); // On se déconnecte de MySQL mysql_close(); } } // Que l'on ait enregistré des données ou pas... // On affiche le formulaire puis les 10 derniers messages // Tout d'abord le formulaire : ?>

Pseudo :
Message :

<?php // Maintenant on doit récupérer les 10 dernières entrées de la table // On se connecte d'abord à MySQL : mysql_connect("localhost", "root", ""); mysql_select_db("nab"); // On utilise la requête suivante pour récupérer les 10 derniers messages : $reponse = mysql_query("SELECT * FROM minichat ORDER BY ID DESC LIMIT 0,10"); // On se déconnecte de MySQL mysql_close(); // Puis on fait une boucle pour afficher tous les résultats : while ($donnees = mysql_fetch_array($reponse) ) { ?>

<?php echo $donnees['pseudo']; ?> / <?php echo $donnees['message']; ?>

<?php } // Fin de la boucle, le script est terminé ! ?>

et voila celui dans lequel ya probleme, aprés avoir rajouté le champ “nom”

Mini-chat form { text-align:center; } <?php if (isset($_POST['pseudo']) AND isset($_POST['message']) AND isset($_POST['nom'])) // Si les variables existent { if ($_POST['pseudo'] != NULL AND $_POST['nom'] != NULL AND $_POST['message'] != NULL) // Si on a quelque chose à enregistrer { // D'abord, on se connecte à MySQL mysql_connect("localhost", "root", ""); mysql_select_db("nab"); // On utilise les fonctions PHP mysql_real_escape_string et htmlspecialchars pour la sécurité $message = mysql_real_escape_string(htmlspecialchars($_POST['message'])); $pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo'])); $message = mysql_real_escape_string(htmlspecialchars($_POST['nom'])); // Ensuite on enregistre le message mysql_query("INSERT INTO minichat VALUES('', '$pseudo', '$message', '$nom')"); // On se déconnecte de MySQL mysql_close(); } } // Que l'on ait enregistré des données ou pas... // On affiche le formulaire puis les 10 derniers messages // Tout d'abord le formulaire : ?>

Pseudo :
Message :
Nom :

<?php // Maintenant on doit récupérer les 10 dernières entrées de la table // On se connecte d'abord à MySQL : mysql_connect("localhost", "root", ""); mysql_select_db("nab"); // On utilise la requête suivante pour récupérer les 10 derniers messages : $reponse = mysql_query("SELECT * FROM minichat ORDER BY ID DESC LIMIT 0,10"); // On se déconnecte de MySQL mysql_close(); // Puis on fait une boucle pour afficher tous les résultats : while ($donnees = mysql_fetch_array($reponse) ) { ?>

<?php echo $donnees['pseudo']; ?> / <?php echo $donnees['message']; ?> / <?php echo $donnees['nom']; ?>

<?php } // Fin de la boucle, le script est terminé ! ?>

ps: pour les deux variantes du codes je mets la table qui contient les chanmps cités dans les codes

MERCI

évite AND, utilise && (pas la même priorité). Et sinon, c’est où la ligne 31?

c’est cela:
mysql_query(“INSERT INTO minichat VALUES(’’, ‘$pseudo’, ‘$message’, ‘$nom’)”);

La troisième ligne ce ne serait pas plutôt


$nom = mysql_real_escape_string(htmlspecialchars($_POST['nom']));

Edité le 26/07/2007 à 17:01

oh merci philouvb, t’es le (la) meilleur
c’est exactement ça,
merci bcp

+1 philouvb.

merci à tout les autres aussi
ya-t-il un lien pour dire que c’est résolu ?

Il te suffit d’étiter ton premier message et de mettre résolu dans le titre
Edité le 26/07/2007 à 17:31