Erreur page livre d'or
christophe
-
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
j'ai fais il y a quelques années un script de livre d'or et aujourd'hui j'ai essayé de le remettre en ligne, mais quand je valide celui ci j'ai des erreurs!
et dans ma base de données les champs sont vide
Notice: Undefined variable: pseudo in /flex/domain/monsite.fr/site/www/book/merci.php on line 59
voici la ligne
et voici la page entiere
merci a vous de votre aide
EDIT: Ajout de la coloration syntaxique.
j'ai fais il y a quelques années un script de livre d'or et aujourd'hui j'ai essayé de le remettre en ligne, mais quand je valide celui ci j'ai des erreurs!
et dans ma base de données les champs sont vide
Notice: Undefined variable: pseudo in /flex/domain/monsite.fr/site/www/book/merci.php on line 59
voici la ligne
<input type="text" name="pseudo" value="<?echo $pseudo;?>">
et voici la page entiere
<? require 'config.php'; ?> <? ///////////////////////////////////////////////////////////////////////////// /// Livre d'or 1.0 ////////////////////////// /// ///////////////////// ///Vous pouvez modifier le script comme vous voulez, mais vous devez laisser/ ///// le copyright de l'auteur ///////////////////// //=========================================================================// ////////////////içi les infos de votre base de connexion//////// // Votre serveur SQL $Host = "$Host"; //renseigner ici le nom de votre base // Votre login SQL $User = "$User"; // ici votre login Sql $Mdp = "$Mdp";// Votre mot de passe SQL // connection // le nom de la base de donnée $Base = "$Base"; // //*************************** mysql_connect ( $Host , $User , $Mdp ) or die('Impossible de se connecter'); mysql_select_db($Base) or die('Impossible de selectionner la base'); ?> <?php { $sql= "INSERT INTO livredorgv VALUES('','$pseudo','$email','$texte','$departement','$ville','$dat')"; mysql_query($sql) or die ( " Requete HS<br />".$sql."<br />".mysql_error()); } ?>
<html> <head> <title>Livre d'or</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body bgcolor="#000000"> <div align="center"> <table width="51%" align="center" border="2"> <tr> <td> <div align="center"><font color="#FFFF00" size="4">Merci de votre commentaire, Voiçi vos infos</font></div> </td> </tr> </table> <form method="post" action="merci.php"> <center> <p></p> <table width="29%" border="1" bgcolor="#000066"> <tr> <td> <div align="center"><font color="#FFFF00"><b><font color="#FFFFFF">Votre pseudo :</font></b></font></div> </td> </tr> </table> <p> <input type="text" name="pseudo" value="<?echo $pseudo;?>"> </p> <table width="29%" border="1" bgcolor="#000066"> <tr> <td> <div align="center"><font color="#FFFF00"><b><font color="#FFFFFF">Votre email :</font></b></font></div> </td> </tr> </table> <p><font color="#FFFFFF"><b> <input type="text" name="email" size="50" value="<?echo $email;?>"> </b></font></p> <table width="29%" border="1" bgcolor="#000066"> <tr> <td> </td> </tr> </table> <p><font color="#FFFFFF"><b> </b></font></p> <table width="29%" border="1" bgcolor="#000066"> <tr> <td> <div align="center"><font color="#FFFFFF"><b>Texte de votre commentaire : </b></font></div> </td> </tr> </table> <p><font color="#FFFFFF"><b> <textarea name="texte" cols="40" rows="5"><?echo $texte;?></textarea> </b></font></p> <table width="29%" border="1" bgcolor="#000066"> <tr> <td> <div align="center"><font color="#FFFFFF"><b>Votre Département : Ex 59</b></font></div> </td> </tr> </table> <p><font color="#FFFFFF"><b> <input type="text" name="departement" size="2" value="<?echo $departement;?>"> </b></font></p> <table width="29%" border="1" bgcolor="#000066"> <tr> <td> <div align="center"><font color="#FFFFFF"><b>Votre ville :</b></font><font color="#FFFF00"><b></b></font></div> </td> </tr> </table> <p><font color="#FFFFFF"><b> <input type="text" name="ville" size="50" value="<?echo $ville;?>"> </b></font></p> <table width="29%" border="1" bgcolor="#000066"> <tr> <td> <div align="center"><font color="#FFFFFF"><b>Date : Ex 11032003</b></font></div> </td> </tr> </table> <p> <input type="text" name="date" value="<?echo $dat;?>"> </p> <p><font color="#FFFFFF"><b><a href="index.php">Retour sur notre livre</a></b></font></p> <p> <font color="#FFFFFF"><b> </b></font></p> <p> </p> </center> </form> <p> </p> </div> </body> </html>
merci a vous de votre aide
EDIT: Ajout de la coloration syntaxique.
A voir également:
- Erreur page livre d'or
- Supprimer page word - Guide
- Livre coran en français pdf - Télécharger - Histoire & Religion
- Imprimer tableau excel sur une page - Guide
- Page d'accueil - Guide
- Livre epub c'est quoi - Guide
4 réponses
Observe la première ligne de ton code.
Je vais m'abstenir de trop commenter le reste du code, mais fait attention à bien valider ce que tu entres dans ta bdd. J'aimerais bien m'amuser sur ton livre d'or et y entrer du Javascript malveillant. Tout utilisateur représente un risque.
Regarde surtout la fonction htmlspecialchars().
https://www.php.net/manual/fr/function.htmlspecialchars.php
<?php //^^^ ICI!!? require 'config.php'; //...
Je vais m'abstenir de trop commenter le reste du code, mais fait attention à bien valider ce que tu entres dans ta bdd. J'aimerais bien m'amuser sur ton livre d'or et y entrer du Javascript malveillant. Tout utilisateur représente un risque.
Regarde surtout la fonction htmlspecialchars().
https://www.php.net/manual/fr/function.htmlspecialchars.php
Bonjour,
Pour répondre à ta question...
Cela signifie que la variable n'est pas "connue" ( définie... initialisée...).
Ce message apparait car dans le paramétrage de ton serveur PHP l'affichage des NOTICE est activé ( tu peux le désactiver si tu le souhaites... les explications étants disponiblies à foisons sur le net).
Quoi qu'il en soit.... pour palier à cela... il est vivement conseillé de vérifier qu'une variable existe AVANT de l'utiliser.
(via la fonction ISSET par exemple).
Ce qui pour ta ligne de code donnerait :
Pour ton souci d'insertion en BDD... il faut ajouter du débogage à ton script et essayer de comprendre ce qui ne fonctionne pas.
PS : Évite de fermer/ouvrir des balises PHP n'importe où...
PS2: Tu indiques les infos de connexion à ta BDD dans ton script... mais.. que contient ton fichier config.php.. ce n'est pas déjà ça ??
PS3 : Si ta requête n'insère toujours rien dans ta BDD.. tu prends le résultat du ECHO de ton SQL... et tu le tests en DIRECT dans ta BDD.
Par exemple : https://codes-sources.commentcamarche.net/faq/10778-heidisql-tester-ses-requetes-sql
Pour répondre à ta question...
Notice: Undefined variable:
Cela signifie que la variable n'est pas "connue" ( définie... initialisée...).
Ce message apparait car dans le paramétrage de ton serveur PHP l'affichage des NOTICE est activé ( tu peux le désactiver si tu le souhaites... les explications étants disponiblies à foisons sur le net).
Quoi qu'il en soit.... pour palier à cela... il est vivement conseillé de vérifier qu'une variable existe AVANT de l'utiliser.
(via la fonction ISSET par exemple).
Ce qui pour ta ligne de code donnerait :
<?php $pseudo = isset($pseudo)?$pseudo :''; ?> <input type="text" name="pseudo" value="<?echo $pseudo;?>">
Pour ton souci d'insertion en BDD... il faut ajouter du débogage à ton script et essayer de comprendre ce qui ne fonctionne pas.
<?php require 'config.php'; if(isset($_POST)){ // 1 - Récupération des variables passées en POST $pseudo = isset($_POST['pseudo']?$_POST['pseudo']:''; $email = isset($_POST['email']?$_POST['email']:''; $texte = isset($_POST['texte']?addslashes($_POST['texte']):''; $departement = isset($_POST['departement']?$_POST['departement']:''; $ville = isset($_POST['ville']?addslashes($_POST['ville']):''; $dat = isset($_POST['date']?$_POST['date']:''; $sql= "INSERT INTO livredorgv VALUES('','$pseudo','$email','$texte','$departement','$ville','$dat')"; // 2 - Affichage de la requete le temps des tests : echo "<br> REQUETE :<br>".$sql; // 3 - Lancement de la requete mysql_query($sql) or die ( " Requete HS<br />".$sql."<br />".mysql_error()); } ?>
PS : Évite de fermer/ouvrir des balises PHP n'importe où...
?> <?php
PS2: Tu indiques les infos de connexion à ta BDD dans ton script... mais.. que contient ton fichier config.php.. ce n'est pas déjà ça ??
PS3 : Si ta requête n'insère toujours rien dans ta BDD.. tu prends le résultat du ECHO de ton SQL... et tu le tests en DIRECT dans ta BDD.
Par exemple : https://codes-sources.commentcamarche.net/faq/10778-heidisql-tester-ses-requetes-sql
Bonjour,
Tu devrais tout reprendre à zéro ^^"
Tu peux simplifier ton livre d'or en mettant le formulaire, la requête et l'affichage directement sur la même page.
Désolé je ne t'aide pas vraiment, mais je pense que tu as franchement meilleur compte à repartir de zero.
https://openclassrooms.com/fr/courses/1603881-apprenez-a-creer-votre-site-web-avec-html5-et-css3/1607171-creez-des-formulaires
Tu devrais tout reprendre à zéro ^^"
Tu peux simplifier ton livre d'or en mettant le formulaire, la requête et l'affichage directement sur la même page.
Désolé je ne t'aide pas vraiment, mais je pense que tu as franchement meilleur compte à repartir de zero.
https://openclassrooms.com/fr/courses/1603881-apprenez-a-creer-votre-site-web-avec-html5-et-css3/1607171-creez-des-formulaires