Trouver une ressource (Nouvelle version du moteur, plus rapide & pertinent, essayez le !)
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
LIVRE D'OR
Information sur la source
Description
Un livre d'or très simple, n'utilisant pas de base de données.
Source
- LIVRE.PHP
-
- <!doctype html public "-//w3c//dtd html 4.0 transitional//en">
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
- <title>Livre d'or</title>
- <?
- function RecordMessage($MessagesFile)
- {
- global $nom;
- global $commentaire;
-
- if (!file_exists($MessagesFile))
- {
- $pntFile1=fopen($MessagesFile,"w+");
- $ret=fputs($pntFile1,"<HR>\r");
- $ret=fclose($pntFile1);
- }
-
- $idlck=fopen($MessagesFile.".bak","w");
- fclose($idlck);
-
- $ret=copy($MessagesFile,$MessagesFile.".bak");
- $pntFile1=fopen($MessagesFile,"w");
- $pntFile2=fopen($MessagesFile.".bak","r");
- // write the message
-
- $commentaire= ereg_replace(chr(13),"<BR>",$commentaire); // replace chr(13) by <BR>
- $commentaire= str_replace("\'","'",$commentaire);
- $commentaire= str_replace('\"','"',$commentaire);
-
- if($commentaire&&$nom)
- {
- $ret=fputs($pntFile1," <CENTER>\r");
- $ret=fputs($pntFile1," <I>$commentaire</I>\r");
- $ret=fputs($pntFile1," </CENTER>\r");
- $ret=fputs($pntFile1,"</P>\r");
- $ret=fputs($pntFile1,"<BR>\r");
- $ret=fputs($pntFile1,"$nom ");
- $ret=fputs($pntFile1,date("d/m/Y H:i"));
- $ret=fputs($pntFile1,"<BR>\r");
- $ret=fputs($pntFile1,"<HR>\r");
- }
- $contents = fread( $pntFile2, filesize( "$MessagesFile.bak" ) );
- $ret =fputs($pntFile1,$contents);
- $ret=fclose($pntFile2);
- $ret=fclose($pntFile1);
- $ret=unlink("$MessagesFile.bak");
- }
- ?>
- <?
- function lit_actu($fichier)
- {
- $lecture=fopen($fichier, "r");
- $chaine=fread($lecture,filesize($fichier));//lit le contenu du fichier
- fclose($lecture);
- return $chaine;
- }
- ?>
-
- <?
- $MessagesFile=("messages.txt");
- $ecriture=RecordMessage($MessagesFile);
- ?>
-
- <style>
- a{
- text-decoration:none;
- }
- </style>
- <SCRIPT LANGUAGE="JavaScript">
- function verifform(formulaire)
- {
- if(formulaire.commentaire.value == "" && formulaire.nom.value == "")
- alert('Remplissez le formulaire !');
- else
- formulaire.submit();
- }
- </SCRIPT>
- </head>
- <body text="#000099" bgcolor="#E9E9E9" link="#000099" vlink="#000099" alink="#000099">
- <center><table COLS=1 WIDTH="80%" >
- <tr>
- <td>
- <center><h2>LIVRE D'OR</h2></center>
- </td>
- </tr>
- </table></center>
- <br>
- <center><table COLS=1 WIDTH="80%">
- <tr><td><center>
- <form method="post" action="livre.php">
- <b><font color="#000099">Votre nom ou pseudo</font></b><br>
- <input type="text" name="nom" size="20" maxlength="40"><br><br>
- <b>Veuillez taper votre message ci-dessous</b><br>
- <textarea name="commentaire" cols="40" rows="5"></textarea>
- <br><br>
- <input type="button" value="envoyer" onClick="verifform(this.form)">
-
- <input type="reset" value="effacer">
- </form>
- </center>
- </td></tr>
- </table></center>
- <center><h3>MESSAGES</h3></center>
- <center><table COLS=1 WIDTH="50%" BGCOLOR="#FFFFFF" BORDER=0>
- <tr>
- <?
- $actu=lit_actu("messages.txt");
- ?>
- <TD VALIGN=CENTER>
- <b>
- <? echo "$actu"; ?>
- </b>
- </TD></td>
- </tr>
- </table></center>
- <br>
- </body>
- </html>
LIVRE.PHP
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Livre d'or</title>
<?
function RecordMessage($MessagesFile)
{
global $nom;
global $commentaire;
if (!file_exists($MessagesFile))
{
$pntFile1=fopen($MessagesFile,"w+");
$ret=fputs($pntFile1,"<HR>\r");
$ret=fclose($pntFile1);
}
$idlck=fopen($MessagesFile.".bak","w");
fclose($idlck);
$ret=copy($MessagesFile,$MessagesFile.".bak");
$pntFile1=fopen($MessagesFile,"w");
$pntFile2=fopen($MessagesFile.".bak","r");
// write the message
$commentaire= ereg_replace(chr(13),"<BR>",$commentaire); // replace chr(13) by <BR>
$commentaire= str_replace("\'","'",$commentaire);
$commentaire= str_replace('\"','"',$commentaire);
if($commentaire&&$nom)
{
$ret=fputs($pntFile1," <CENTER>\r");
$ret=fputs($pntFile1," <I>$commentaire</I>\r");
$ret=fputs($pntFile1," </CENTER>\r");
$ret=fputs($pntFile1,"</P>\r");
$ret=fputs($pntFile1,"<BR>\r");
$ret=fputs($pntFile1,"$nom ");
$ret=fputs($pntFile1,date("d/m/Y H:i"));
$ret=fputs($pntFile1,"<BR>\r");
$ret=fputs($pntFile1,"<HR>\r");
}
$contents = fread( $pntFile2, filesize( "$MessagesFile.bak" ) );
$ret =fputs($pntFile1,$contents);
$ret=fclose($pntFile2);
$ret=fclose($pntFile1);
$ret=unlink("$MessagesFile.bak");
}
?>
<?
function lit_actu($fichier)
{
$lecture=fopen($fichier, "r");
$chaine=fread($lecture,filesize($fichier));//lit le contenu du fichier
fclose($lecture);
return $chaine;
}
?>
<?
$MessagesFile=("messages.txt");
$ecriture=RecordMessage($MessagesFile);
?>
<style>
a{
text-decoration:none;
}
</style>
<SCRIPT LANGUAGE="JavaScript">
function verifform(formulaire)
{
if(formulaire.commentaire.value == "" && formulaire.nom.value == "")
alert('Remplissez le formulaire !');
else
formulaire.submit();
}
</SCRIPT>
</head>
<body text="#000099" bgcolor="#E9E9E9" link="#000099" vlink="#000099" alink="#000099">
<center><table COLS=1 WIDTH="80%" >
<tr>
<td>
<center><h2>LIVRE D'OR</h2></center>
</td>
</tr>
</table></center>
<br>
<center><table COLS=1 WIDTH="80%">
<tr><td><center>
<form method="post" action="livre.php">
<b><font color="#000099">Votre nom ou pseudo</font></b><br>
<input type="text" name="nom" size="20" maxlength="40"><br><br>
<b>Veuillez taper votre message ci-dessous</b><br>
<textarea name="commentaire" cols="40" rows="5"></textarea>
<br><br>
<input type="button" value="envoyer" onClick="verifform(this.form)">
<input type="reset" value="effacer">
</form>
</center>
</td></tr>
</table></center>
<center><h3>MESSAGES</h3></center>
<center><table COLS=1 WIDTH="50%" BGCOLOR="#FFFFFF" BORDER=0>
<tr>
<?
$actu=lit_actu("messages.txt");
?>
<TD VALIGN=CENTER>
<b>
<? echo "$actu"; ?>
</b>
</TD></td>
</tr>
</table></center>
<br>
</body>
</html>
Conclusion
Suite aux conseils de GRenard, il semblerait que la méthode de déclaration de variables "global" n'est plus usitée pour des raisons de sécurité, il conviendra donc d'utiliser la méthode $_POST.
$nom=$_POST['nom']; $commentaire=$_POST['commentaire'];
à la place de :
global $nom; global $commentaire;
Attention, cette méthode ne fonctionne pas chez Tiscali, mais fonctionne parfaitement chez Free. A vous de tester pour les autres hébergeurs.
Fichier Zip
Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
Télécharger le zip
Historique
- 17 juillet 2004 07:57:53 :
- 17 juillet 2004 09:38:49 :
- 18 juillet 2004 09:15:54 :
- 19 juillet 2004 12:57:06 :
- Suite aux conseils de coucou747, ajouter ces 2 lignes :
$commentaire= str_replace("<'"," ",$commentaire);
$commentaire= str_replace('>"'," ",$commentaire);
dans le script pour le sécuriser.
- 19 juillet 2004 13:28:54 :
- Rectificatif pour erreur de copier/coller :
$commentaire= str_replace("<"," ",$commentaire);
$commentaire= str_replace(">"," ",$commentaire);
Sources de la même categorie
Commentaires
|
|