Bonjour à toutes et à tous,
Voici mon problème du jour.
J'ai un livre d'or sans base MySQL qui écrit les messages dans un fichier txt
après moult corrections ça fonctionne bien.
J'aurais besoin de dupliquer en live les données sur une autre page pour y rajouter une donnée, l'ip du visiteur et du fait je ne veux pas qu'elle soit visible à tous les autres visiteurs du site.
j'ai trois fichiers un writeguest.php, guestbook.php et un guestbook.txt
voici les codes des deux fichiers :
writeguest.php
et le code guestbook.php
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
55
56
57
58
59
60
61
62
63
64
65
66
67 <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> <head> <meta name="description" CONTENT=""> <meta HTTP-EQUIV="IMAGETOOLBAR" content="no" SCROLLING="yes" > <meta name="keywords" CONTENT=""> <head> <title></title> </head> <body> <?php //Ouverture du fichier en écriture $fp = fopen("/htdocs/livredor/guestbook.txt",a); //On convertit les caracteres html echo htmlspecialchars_decode(htmlentities($chaine, ENT_NOQUOTES, 'ISO-8859-1')); $nom = htmlspecialchars(stripslashes($_POST['nom'])); $mail = htmlspecialchars(stripslashes($_POST['mail'])); $message = htmlspecialchars(stripslashes($_POST['message'])); $ipvisiteur = $_SERVER["REMOTE_ADDR"]; $d = date ( "d/m/Y H:i:s" ); function censorWords($find=array(),$text=null){ $replace = ' **** '; return preg_replace($find,$replace,$text); } /*liste des mots a filtrer ou expression aussi longue que tu veux*/ $file = 'guestbook.txt'; $find = array( '/censuré\s/i', '/censuré\s/i', '/censuré\s/i', '/censuré\s/i', '/censuré\s/i', '/censuré\s/i', '/censuré\s/i', ); $newmail = censorWords($find,$mail); $newnom = censorWords($find,$nom); $newmessage = censorWords($find,$message); $page = ""; $page .= " <b>$newnom</b> $newmail<br> le: $d<br> $newmessage<br><hr>\n"; //On rajoute le message fwrite($fp,"$page" ,strlen("$page")); //fermeture du fichier fclose($fp); ?> <?php include("guestbook.php"); ?> </body> </html>
J'aurais donc besoin de récupérer la variable $ipvisiteur; dans la page copie en l'incérant comme ceci
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71<!DOCTYPE html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> <meta name="description" CONTENT=""> <meta HTTP-EQUIV="IMAGETOOLBAR" content="no" SCROLLING="yes" > <meta name="keywords" CONTENT=""> <head> <title>Livre d'or</title> <style type="text/css"> body { background: #000000; color: #000000; font-family: Verdana ; color:white; font-size:14px; } </style> <style type="text/css"> div.grande { width : 70%; } p{ line-height:25px; } </style> </head> <body> <form method=post action=writeguest.php onSubmit='if ( this.nom.value.length < 2 ) { return false ;}' > <BR><p align="center"><FONT FACE="gabriola" size="9" color="white">titre</FONT></BR><FONT FACE="gabriola" size="6" color="white">Livre d'or </FONT></p></FONT> <table border="0" align="center"> <tr><td><img src="test.jpg"></td><td> <Div> <table> <tr><td><FONT FACE="monotype corsiva" size="4" color="white">Nom :</FONT></td> <td><input type=text name=nom size=25 ></td></tr> <tr><td><FONT FACE="monotype corsiva" size="4" color="white">Mail :</FONT></td> <td><input type=text name=mail size=25 ></td></tr> <tr><td><FONT FACE="monotupe corsiva" size="4" color="white">Message:</FONT></td><td colspan=1> <textarea name=message rows=6 cols=47></textarea> </td></tr> </table> </Div> </td><td><img src="livre.jpg"></td></td></tr></table> <div style="text-align:center;"><INPUT border=0 src="envoyer.jpg" type=image name="sub" value="Envoyer" /></div> </form> <div style="text-align:center;"><a href="http://fils-de-saone.fr/index.htm"onMouseOver="window.status='';return true"><img src="bfermer.jpg" BORDER="0" alt=""/></a></div> <div align="center" ><div class="grande" style="border:3px solid #000000; padding 1px;"><div style="text-align:left;"><FONT FACE="gabriola" size="6" color="white" >Vos impressions, commentaires:</FONT></div></div> <div align="center" > <div class="grande" style="border:3px solid #FFFFFF; padding 3px;"><div style="text-align:left;"> <?php include("guestbook.txt"); ?></div></div> </BR> <div style="text-align:center;"><a href="http://test.htm"onMouseOver="window.status='';return true"><img src="bfermer.jpg" BORDER="0" alt=""/></a></div> <div style="text-align:center"><FONT face="gabriola" size="3"color="#FFFFF"><P> Tous drois reservés - All rights reserved, reproduction interdite</font> </body> </html>
J'ai donc pensé créer trois nouveaux fichiers guestbook2.php, writeguest2.php et guestbook2.txt en y ajoutant une session start ( dans les deux pages bien sur ) comme ceci
Code : Sélectionner tout - Visualiser dans une fenêtre à part $page .= " <b>$newnom</b> $newmail<br> le: $d: Ip:$ipvisiteur<br> $newmessage<br><hr>\n";?>
dans les deux pages.Evidement ça ne fonctionne pas, quelqu'un peut-il m'explique peut être une méthode plus simple ou m'aider à réaliser cela en partant de cette idée de méthode ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <?php session_start(); $_SESSION['mail'] = $newmail; $_SESSION['nom'] = $newnom; $_SESSION['message'] = $newmessage; $_SESSION['ipvisiteur'] = $ipvisiteur; ?> <!DOCTYPE html> <head>
Par avance merci à tous
Partager