Hello,
J'ai fait un système de guestbook simple à base de lecture/écriture de fichier texte. Le principe est le suivant :
- ouverture de la page
- ouverture et affichage du fichier message.txt
- affichage du formulaire
- traitement du formulaire, si tous les champs sont remplis
--> enregistrement des variables (name,message) à la fin du fichier message.txt
A la fin du script, je ne sais pas comment afficher automatiquement le dernier message saisi. J'ai une erreur si j'envoie un header en PHP...
Est-ce que quelqu'un a une idée?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <h4>les messages</h4> <?php echo file_get_contents("message.txt"); ?> <br> <form name="formulaire" method="post" action="index.php"> <p><label for="name">Nom :</label></p> <input type="text" name="name" id="name" size="30" maxlength="30"/> <br> <p><label for="message">Message :</label></p> <textarea name="message" id="message" rows="4" cols="80"></textarea> <br> <p><input type="submit" name ="envoyer" id="envoyer" value="Envoyer" onclick="document.formulaire.submit();"></p> </form> </body> </html> <?php if(isset($_POST['envoyer'])){ if(!empty($_POST['name'] && !empty($_POST['message']))){ $name=htmlspecialchars($_POST['name']); $message=htmlspecialchars($_POST['message']); date_default_timezone_set('Europe/Paris'); $temps=date("d-m-Y H:i:s"); $str="<br><b>$name</b> - $temps<br>\r\n$message<br>\r\n"; $fp=fopen('message.txt','a+'); if(FALSE!=$fp){ fwrite($fp,$str); fclose($fp); } else { echo "<pre>Erreur à l'ouverture de $fp</pre>"; exit; } } } ?>
Partager