Php aide pour code livre d'or
Résolu/Fermé
mitou63
Messages postés
95
Date d'inscription
lundi 14 septembre 2009
Statut
Membre
Dernière intervention
10 mars 2011
-
14 nov. 2009 à 19:58
avion-f16 Messages postés 19249 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 15 juin 2024 - 15 nov. 2009 à 18:55
avion-f16 Messages postés 19249 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 15 juin 2024 - 15 nov. 2009 à 18:55
A voir également:
- Php aide pour code livre d'or
- Code asci - Guide
- Code puk bloqué - Guide
- Livre coran en français pdf - Télécharger - Histoire & Religion
- Code telephone oublié - Guide
- Code activation windows 10 - Guide
6 réponses
avion-f16
Messages postés
19249
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
15 juin 2024
4 504
14 nov. 2009 à 20:28
14 nov. 2009 à 20:28
É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" />
mitou63
Messages postés
95
Date d'inscription
lundi 14 septembre 2009
Statut
Membre
Dernière intervention
10 mars 2011
4
15 nov. 2009 à 12:15
15 nov. 2009 à 12:15
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....
Zestyr
Messages postés
466
Date d'inscription
mercredi 12 août 2009
Statut
Membre
Dernière intervention
17 octobre 2011
52
15 nov. 2009 à 12:28
15 nov. 2009 à 12:28
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?
avion-f16
Messages postés
19249
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
15 juin 2024
4 504
15 nov. 2009 à 17:22
15 nov. 2009 à 17:22
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
mitou63
Messages postés
95
Date d'inscription
lundi 14 septembre 2009
Statut
Membre
Dernière intervention
10 mars 2011
4
15 nov. 2009 à 18:39
15 nov. 2009 à 18:39
oooooooo merci beaucoupppppp merci c'est très gentil de m'avoir aidé!!! merci encore! n'hesite pas a faire le tour dusite en question si tu le désire il s'agit de celui d'une jeune chanteuse clermontoise il n'est pas encore finis , bientot bientot....
http://ev.elfya.free.fr/index.php
merci encore
http://ev.elfya.free.fr/index.php
merci encore
avion-f16
Messages postés
19249
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
15 juin 2024
4 504
15 nov. 2009 à 18:55
15 nov. 2009 à 18:55
N'oublie pas de cocher la case "Résolu" tout en haut (je l'ai fais, cette fois ci)