Php aide pour code livre d'or
Résolu
mitou63
Messages postés
95
Date d'inscription
Statut
Membre
Dernière intervention
-
avion-f16 Messages postés 19252 Date d'inscription Statut Contributeur Dernière intervention -
avion-f16 Messages postés 19252 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
je viens vous demander votre aide pour un livre d'or qui marche un peu trop bien car quand on charge la page ou on peu lire les messages il en crée un vide et un vide qui plus est qui se rajoutte apres mon copyright qui se trouve dans un autre fichier php <?php include("bas.php"); ?>
je vous poste le code si vous voyez ce qui ne vas pas.... merci d'avance
<?
//Ouverture du fichier en écriture
$fp = fopen("writeguest.php",a);
//On convertit les caracteres html
$nom = htmlspecialchars($_POST['nom']);
$mail = htmlspecialchars($_POST['mail']);
$message = stripslashes(nl2br(htmlentities($_POST['message'])));
$d = date ( "d/m/Y H:i:s" );
$lemail = "<a href=\"mailto:$mail\">$mail</a>";
$page .= "<b>$nom</b> (".$lemail.") - $d<br>$message<br><hr>\n";
//On rajoute le message
fwrite($fp,"$page" ,strlen("$page"));
//fermeture du fichier
fclose($fp);
//On affiche le message enregistré
echo "Merci $nom, nous avons enregistré: <br>";
echo "email : $mail <br> message : $message";
?>
je viens vous demander votre aide pour un livre d'or qui marche un peu trop bien car quand on charge la page ou on peu lire les messages il en crée un vide et un vide qui plus est qui se rajoutte apres mon copyright qui se trouve dans un autre fichier php <?php include("bas.php"); ?>
je vous poste le code si vous voyez ce qui ne vas pas.... merci d'avance
<?
//Ouverture du fichier en écriture
$fp = fopen("writeguest.php",a);
//On convertit les caracteres html
$nom = htmlspecialchars($_POST['nom']);
$mail = htmlspecialchars($_POST['mail']);
$message = stripslashes(nl2br(htmlentities($_POST['message'])));
$d = date ( "d/m/Y H:i:s" );
$lemail = "<a href=\"mailto:$mail\">$mail</a>";
$page .= "<b>$nom</b> (".$lemail.") - $d<br>$message<br><hr>\n";
//On rajoute le message
fwrite($fp,"$page" ,strlen("$page"));
//fermeture du fichier
fclose($fp);
//On affiche le message enregistré
echo "Merci $nom, nous avons enregistré: <br>";
echo "email : $mail <br> message : $message";
?>
A voir également:
- Php aide pour code livre d'or
- Code ascii - Guide
- Code puk bloqué - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Code activation windows 10 - Guide
- Livre code de la route pdf gratuit - Télécharger - Transports & Cartes
6 réponses
Évites les shorts tags : ce n'est pas "<?" mais "<?php".
Le problème, c'est que tu ne fais aucune condition permettant d'enregistrer le message que si il a été envoyer.
Voilà ton script corrigé et sécurisé :
Le problème, c'est que tu ne fais aucune condition permettant d'enregistrer le message que si il a été envoyer.
Voilà ton script corrigé et sécurisé :
<?php if($_POST['submitGuestbook'] == "true") { $nom = htmlspecialchars(trim($_POST['nom'])); $mail = htmlspecialchars(trim($_POST['mail'])); $message = nl2br(htmlentities(trim($_POST['message']))); $d = date ("d/m/Y H:i:s"); if( empty($nom) || empty($mail) || empty($message) || !preg_match('#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#i',$mail) ) { echo 'Un champ est resté vide ou l\'adresse email est invalide'; } else { //Ouverture du fichier en écriture $fp = fopen("writeguest.php",a); //On convertit les caracteres html $lemail = '<a href="mailto:'.$mail.'">'.$mail.'</a>'; $page .= '<strong>'.$nom.'</strong> ('.$lemail.') - '$d'<br/>'.$message.'<br/><hr/>'."\n"; fwrite($fp,$page,strlen($page)); fclose($fp); //On affiche le message enregistré echo 'Merci '.$nom.', nous avons enregistré: <br/>'."\n"; echo 'Email : '.$mail.'<br/>'."\n".'Message : '.$message; } } ?>Ajoute ça dans ton formulaire :
<input type="hidden" name="submitGuestbook" value="true" />
bonjour
merci pour les corrections cepandant je trouve maintenant ceci.....
Parse error: syntax error, unexpected T_VARIABLE in /mnt/166/sda/e/7/ev.elfya/writeguest.php on line 58
et je ne trouve pas d'ou ca peut venir car la ligne 58 correspond a
$page .= '<strong>'.$nom.'</strong> ('.$lemail.') - '$d'<br/>'.$message.'<br/><hr/>'."\n";
si tu vois ce qui cloche....merci d'avance....
merci pour les corrections cepandant je trouve maintenant ceci.....
Parse error: syntax error, unexpected T_VARIABLE in /mnt/166/sda/e/7/ev.elfya/writeguest.php on line 58
et je ne trouve pas d'ou ca peut venir car la ligne 58 correspond a
$page .= '<strong>'.$nom.'</strong> ('.$lemail.') - '$d'<br/>'.$message.'<br/><hr/>'."\n";
si tu vois ce qui cloche....merci d'avance....
Jcroi que c'est parceque une variable que tu utilise n'est pas déclarer.
Avant de concaténer $page l'a tu déclarer avant?
Avant de concaténer $page l'a tu déclarer avant?
J'ai fais une erreur.
Voilà le code corrigé :
Voilà le code corrigé :
<?php if($_POST['submitGuestbook'] == "true") { $nom = htmlspecialchars(trim($_POST['nom'])); $mail = htmlspecialchars(trim($_POST['mail'])); $message = nl2br(htmlentities(trim($_POST['message']))); $d = date ("d/m/Y H:i:s"); if( empty($nom) || empty($mail) || empty($message) || !preg_match('#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#i',$mail) ) { echo 'Un champ est resté vide ou l\'adresse email est invalide'; } else { //Ouverture du fichier en écriture $fp = fopen("writeguest.php",a); //On convertit les caracteres html $lemail = '<a href="mailto:'.$mail.'">'.$mail.'</a>'; $page .= '<strong>'.$nom.'</strong> ('.$lemail.') - '.$d.'<br/>'.$message.'<br/><hr/>'."\n"; fwrite($fp,$page,strlen($page)); fclose($fp); //On affiche le message enregistré echo 'Merci '.$nom.', nous avons enregistré: <br/>'."\n"; echo 'Email : '.$mail.'<br/>'."\n".'Message : '.$message; } } ?>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question