ToutSurTout.biz
Besoin petite aide pour dedicaces


Voila j'ai donc mon script de dédicaces. Actuellement un seul fichier pour enregistrer : pseudo, date, heure, ip et le message. Jusque la c'est plutôt facile. Mais moi j'aimerais bien arriver à avoir a la limite un fichier pareil pour avoir après en admin l'ip de personnes qui posterait n'importe quoi ou spam, puis un autre de détaché en deux, ou alors un fichier qui a tout comme celui-ci avec juste les ip séparé dans un autre fichier mais dans se cas faut savoir ensuite quel ip correspond à quel message.

Bon j'ai vu un script trop complexe avec trop de fichiers pour rien. Je met les deux de mon script actuel.

Les messages postaient donnent actuellement en txt ceci :

<b>pseudochose</b> [197.197.197.197] a &eacute;crit le 31/05/2015 &agrave; 06:41:34 : cette chanson est trop bien ---- 
<b>cococool</b> [82.82.82.10] a &eacute;crit le 19/05/2015 &agrave; 19:33:12 : super site ----

et le fichier script :

<?php

$activation = "1";


$commentaires = "dedicaces-messages.txt";
$ip = $_SERVER['REMOTE_ADDR'];
$pseudo = htmlspecialchars($_POST['pseudo']);
$message = htmlspecialchars($_POST['message']);
$message = stripslashes(nl2br($message));


$date = date ("d/m/Y");
$heure = date ("H:i:s");


$nbcaracteres_pseudo = "22";
$nbcaracteres_message = "111";


$to      = 'VOTRE@E-MAIL.fr';
$subject = 'Messager : Nouveau message';
$headers = 'From: VOTRE@E-MAIL.fr';
$message_mail = "$pseudo [$ip] a ecrit le $date a $heure : $message";




if ($activation == 0)
{
echo '<html>
<body>
Le Messager est d&eacute;sactiv&eacute;.
<br><a href="index.php">Retour</a>
</body>
</html>';
   exit();
}



if ($activation == 1)
{
if( strlen($pseudo) > $nbcaracteres_pseudo )
{
   echo '<html>
<body>
Le nombre de caract&egrave;res du pseudo est limit&eacute; &agrave; 22.
<br><a href="index.php">Retour</a>
</body>
</html>';
   exit();
}



if( strlen($message) > $nbcaracteres_message )
{
   echo '<html>
<body>
Le nombre de caract&egrave;res du message est limit&eacute; &agrave; 111.
<br><a href="index.php">Retour</a>
</body>
</html>';
   exit();
}



if(preg_match("!http|/|www|\.[A-Za-z]{2,4}!is",@$_POST['pseudo']))
{
   echo '<html>
<body>
Les URL et les slashs sont interdits.
<br><a href="index.php">Retour</a>
</body>
</html>';
   exit();
}



if(preg_match("!http|/|www|\.[A-Za-z]{2,4}!is",@$_POST['message']))
{
   echo '<html>
<body>
Les URL et les slashs sont interdits.
<br><a href="index.php">Retour</a>
</body>
</html>';
   exit();
}



// setcookie("ip",$_SERVER['REMOTE_ADDR'],time()+.3600*60*90);
// if(isset($_COOKIE['ip']) && $_COOKIE['ip']==$_SERVER['REMOTE_ADDR'])
// {
//  echo '<html>
// <body>
// Vous ne pouvez poster qu'un message par jour.
// <br><a href="index.php">Retour</a>
// </body>
// </html>';
// exit();
// }




if(!is_file($commentaires))
{
        $verif=@fopen($commentaires,"w+");
}

else if (trim($message)=="" || trim($pseudo)=="")
{
        echo '<html>
<body>
Vous devez remplir tous les champs.
<br><a href="index.php">Retour</a>
</body>
</html>';
   exit;
}


        $verif=@fopen($commentaires,"r+");
               
        $stock=@fread($verif,filesize($commentaires));

        $opinion="<b>".$pseudo."</b> [".$ip."] a &eacute;crit le ".$date." &agrave; ".$heure." : ".$message." ---- ";
       
        rewind($verif);
       
        fputs($verif,$opinion." \n".$stock);
       
        fclose($verif);

        mail($to, $subject, $message_mail, $headers);
       
        header('Location: index.php');
   exit;
}

?>>

Poster un message par jour, vaut mieux plusieurs quand même.
Donc au final qu'en admin on voit tout avec l'ip, mais en partie qui défile sur le site, le visiteur voit tout sauf l'ip.

Tu penses pouvoir m'aider Loic ?
Merci par avance.