cs_Miss1
Messages postés221Date d'inscriptionvendredi 21 octobre 2005StatutMembreDernière intervention22 décembre 2010
-
16 déc. 2008 à 22:32
kohntark
Messages postés3705Date d'inscriptionlundi 5 juillet 2004StatutMembreDernière intervention27 avril 2012
-
21 déc. 2008 à 20:52
Bonsoir,
j'aurais besoin d'aide en effet j'ai crée un livre d'or , quand on passe par la page ecrire commentaire les message s'affiche correctement mais quand je clique directement sur la page message celle si ajoute un message sans le pseudo ni le commentaire pouvais vous m'aider a remedier a se probleme. Car moi je voudrais visualisé les massages ecrit sans qu'il ne me rajoute de ligne.
// On vérifie que le login ou le message ne sont pas vides
// Après ces quelques vérifications d'usage on passe à l'exécution de ce formulaire
// Si ok on ouvre en écirture-enregistrement du fichier message.txt
[mailto:$verif=@fopen($commentaires,"r $verif=@fopen($commentaires,"r]+");
// On analyse les anciennes données et on les stocke
[mailto:$stock=@fread($verif,filesize($commentaires $stock=@fread($verif,filesize($commentaires]));
// On met la date dans une variable
$date=date ("d/m/Y à H:i");
// On paramètre le tout dans la variable $opinion
$opinion="".$pseudo." à écrit le : ".$date."
\n".$message."
\n<hr />";
//On remet le curseur du fichier en début de ligne
rewind($verif);
//On insère le nouveau commentaire
fputs($verif,$opinion." \n".$stock);
// On vérifie que le login ou le message ne sont pas vides
elseif (trim($message)=="" || trim($pseudo)=="")
{
echo "Vous devez remplir tous les champs ! ";
// On sort du script !
exit;
}
// Après ces quelques vérifications d'usage on passe à l'exécution de ce formulaire
// Si ok on ouvre en écirture-enregistrement du fichier message.txt
[mailto:$verif=@fopen($commentaires,%22r $verif=@fopen($commentaires,"r]+");
// On analyse les anciennes données et on les stocke
[mailto:$stock=@fread($verif,filesize($commentaires $stock=@fread($verif,filesize($commentaires]));
// On met la date dans une variable
$date=date ("d/m/Y à H:i");
// On paramètre le tout dans la variable $opinion
$opinion="".$pseudo." à écrit le : ".$date."
\n".$message."
\n<hr />";
//On remet le curseur du fichier en début de ligne
rewind($verif);
//On insère le nouveau commentaire
fputs($verif,$opinion." \n".$stock);
kohntark
Messages postés3705Date d'inscriptionlundi 5 juillet 2004StatutMembreDernière intervention27 avril 201230 19 déc. 2008 à 06:14
Salut,
C'est normal que ça ne fonctionne pas si tu appelles directement la page message, parce que
$_POST['Login']; et $_POST['Message']; ne sont pas définies.
par :
elseif (!isset($_POST['Login']) || !isset($_POST['Message']) || trim($_POST['Message']) == '' || trim($_POST['Login'] ) == '') die('Vous devez remplir tous les champs !');
// Ce n'est qu'à ce moment que tu peux définir $message et $pseudo :
$commentaires="Message_text";
$pseudo=$_POST['Login'];
$message=$_POST['Message'];
Pense à traiter les variables POST et contrôler qu'elles ne peuvent pas nuire à ton site. Si tu ne le fais pas il est facile d'exécuter du code néfaste, voir de faire tomber ton serveur. Regarde la doc de strip_tags sur php.net
kohntark
Messages postés3705Date d'inscriptionlundi 5 juillet 2004StatutMembreDernière intervention27 avril 201230 21 déc. 2008 à 20:52
Il suffit que tu regardes le numéro de ligne où se trouve l'erreur !!
Tu devrais plutôt procéder ainsi :
// tu vérifies si il y a un message qui a été posté
if (isset($_POST['Login']) & isset($_POST['Message'])) { //des données ont été postées
if (emtpy(trim($_POST['Message'])) || empty(trim($_POST['Login'] ))) {
echo 'Veuillez remplir tous les champs'; // au moins un des champs est vide
} else {
// tu traites les données
$message = strip_tags($_POST['Message']);
$pseudo = strip_tags($_POST['Login']);
// Si ok on ouvre en écirture-enregistrement du fichier message.txt
[mailto:$verif=@fopen%28$commentaires,%22r $verif=@fopen($commentaires,"r]+");
[...]
//On insère le nouveau commentaire
fputs($verif,$opinion." \n".$stock);
}