Souci anti bot pour un livre d'or
bonjour
j'ai mis unn systéme anti boot pour mon livre d'or
mais il ne veut pas posté ou marché dés quon met tout les champs et un message et le code qui est dans l'image
il me dit veuillez remplir tout les champs
donc voilà
http://forum.exemple.free.fr/livre_d_or.php
et le code
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| <legend>Vérification</legend>
<p class="texte_blanc">
Vous devez recopier les chiffres que vous voyez dans l'image ci-dessous. Ce n'est pas un "jeu", c'est simplement un moyen qui permet d'éviter que des robots s'inscrivent sur le site.
</p>
<p class="texte_blanc">
<!-- On affiche l'image générée par notre script -->
<img src="anti_bots/verif_code_gen.php" id="img_verif" alt="Code de vérification" title="Code de vérification" />
<br />
<br />
<input type="button" name="button_regen" onclick="document.getElementById('img_verif').src = 'anti_bots/verif_code_gen.php?'+(parseInt(Math.random()*10000000))" value="Changer l'image" alt="Changer l'image" title="Changer l'image" />
<br />
<br />
Merci de retaper le code les 6 chiffres :
<br />
<br />
<input type="text" name="verif_code" />
</p></fieldset> |
et dans la page ajout_message
Code:
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 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110
| <?php
// Cette fonction doit être appelée avant tout code html
session_start();
header('refresh: 5; url=../livre_d_or.php');
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Bienvenue sur mon site</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15" />
<link href="../design/par_default.css" rel="stylesheet" type="text/css" title="Design" />
<link href="../design/scode.css" rel="stylesheet" type="text/css" title="Design" />
</head>
<body>
<div class="cadre_principale">
<div class="cadre_du_haut">
<?php include("../menu/menu_du_haut.php"); ?>
</div>
<!-- fin div class="cadre_du_haut" -->
<div class="cadre_du_bas">
<div class="cadre_du_menu_de_gauche">
<?php include("../menu/menu_de_gauche.php"); ?>
</div>
<!-- fin div class="cadre_du_menu_de_gauche" -->
<div class="cadre_du_programme">
<?php
//Un ajout ?
include('../includes/connect01.php');
// Vérification de l'anti_boot
$code_ok = false;
if(IsSet($_POST['verif_code']) AND !Empty($_POST['verif_code']))
{
// Le champ du code de confirmation a été remplis
if($_POST['verif_code']==$_SESSION['aleat_nbr'])
{
// Si le champ est égal au code généré par l'image
$milieu_html = 'Vous avez entré le bon code de confirmation !';
$code_ok=true;
}
else
{
$milieu_html = 'Votre code de confirmation n\'est pas bon ! Merci de réessayer.<br /><a href="#" onclick="history.go(-1);">Retour</a>';
$i++;
}
}
else
{
$milieu_html = 'Vous devez remplir le champ du code de confirmation !</p>';
$i++;
}
if($code_ok==true)
{
// Code avec l'inscription dans la base INSERT INTO...
}
if ($i == 0) // Si il est vide, il n'y a pas d'erreur
{
//Sécurité anti-hack pour tout les champs
$pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo']));
$mail = mysql_real_escape_string(htmlspecialchars($_POST['mail']));
$message = mysql_real_escape_string(htmlspecialchars($_POST['message']));
$site = mysql_real_escape_string(htmlspecialchars($_POST['site_web']));
$milieu_html = mysql_real_escape_string(htmlspecialchars($_POST['milieu_html']));
//Valeur par defaut
$dPseudo = 'Votre Pseudo';
$dMail = 'Votre Mail';
$dSite = 'Votre Site';
$dMessage = 'Votre Message';
$dMilieu_html = 'milieu_html';
if (($pseudo === '') || ($pseudo === $dPseudo) || ($mail === '') || ($mail === $dMail)
|| ($message === '') || ($message === $dMessage) || ($site === '') || ($site === $dSite)
|| ($milieu_html === '') || ($milieu_html === $dMilieu_html))
{ echo '<p align="center" class="texte_blanc">Veuillez remplir tout les champs svp !</p>'; }
else
{
$date = date('d/m/Y');
$heure = date('H:i');
if (!mysql_query("INSERT INTO livre_d_or VALUES ('', '".$pseudo."', '".$message."', '".$date."', '".$heure."', '".$mail."', '".$site."', '".$milieu_html."', '".$_POST['note']."' ) ")) die (mysql_error());
echo '<p align="center" class="texte_blanc">Votre message à bien été ajouté ! Merci</p>';
}
//On redirige vers la page livre_d_or.php
//On se deconnecte
mysql_close();
}
?> |
merci de votre aide pour fonctionné d'anti boot dans ce livre d'or
merci d'avance