Vous n'êtes pas identifié.
Pages: 1
Réponses : 4 / Vues : 4 669
Alex31
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 écrit le 31/05/2015 à 06:41:34 : cette chanson est trop bien ----
<b>cococool</b> [82.82.82.10] a écrit le 19/05/2015 à 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ésactivé.
<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ères du pseudo est limité à 22.
<br><a href="index.php">Retour</a>
</body>
</html>';
exit();
}
if( strlen($message) > $nbcaracteres_message )
{
echo '<html>
<body>
Le nombre de caractères du message est limité à 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 écrit le ".$date." à ".$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.
Alex31
OK sans problème. Il manque juste la zone que je met en boîte et celle que je met en défilement.
En défilement j'ai mis le txt et en boîte pour poster le php, mais bon ça tu vas vite le savoir.
Alex31
un petit up
Réponses : 4 / Vues : 4 669
Pages: 1