Bon, j'ai un gros problème avec la fonction rand().. au premier chargement du script, elle sort toujours les mêmes chiffres! près, en postant de nouvelles variables, et en faisant des erreurs, a yest, c'est parti, c'est aléatoire... Voilà le script :
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
<div id="site_mail">
 
<?php
$exped=$HTTP_POST_VARS['exped'];
$objet=$HTTP_POST_VARS['objet'];
$message=stripslashes(nl2br(UTF8_decode($HTTP_POST_VARS['message'])));
 
if (isset($HTTP_POST_VARS['envoi']) && isset($HTTP_POST_VARS['antispam']))
{
$reponse=md5($HTTP_POST_VARS['antispam']);
$solution=$HTTP_POST_VARS['solution'];
    if ($reponse==$solution) {$ok=1;} else { echo "<h4 id=\"erreur\"><img src=\"themes/default/img/danger.gif\">Mauvais calcul pour l'anti-spam.</h4>";}
}
 
if (($reponse!=$solution) || (empty($exped) || empty($objet) || empty($message)))
{
$x=rand(1, 49);
$y=rand(1, 49);
$z=$x + $y;
$solution=md5($z);
}
 
if (!empty($exped) && !empty($objet) && !empty($message) && $ok==1)
{
  $headers ='MIME-Version: 1.0\n';
  $headers .="From:".$exped."\n";
  $headers .="Reply-To:".$exped."\n";
  $headers .='Content-Type: text/html; charset="iso-8859-1"'."\n";
  $headers .='Content-Transfer-Encoding: 8bit';
  $mail="monmail@monsite.fr";
  if(mail($mail,$objet,$message,$headers))
 
			{
			echo "<h3>Mail envoy&eacute; !</h3>";
			$x=rand(1, 49);
                        $y=rand(1, 49);
                        $z=$x + $y;
                        $solution=md5($z);
			}
 
			else
 
			{
			echo "<p>Problème : Votre mail n'a pas pu être envoyé !</p>";
			}
}
 
elseif (isset($HTTP_POST_VARS['envoi']) && (!empty($exped) || !empty($objet) || !empty($message))) {echo "<h4 id=\"erreur\"><img src=\"themes/default/img/danger.gif\">Veuillez renseigner le(s) champ(s) marqué(s) d'une croix.</h4>";}
 
?>
 
<form onload="option()" name="mail" method="POST" action="<?php $PHP_SELF; ?>" enctype="multipart/form-data">
<p><?php if ((isset($HTTP_POST_VARS['envoi'])) && (empty($exped))) {echo "<img src=\"themes/default/img/cross.gif\">";} ?>Votre adresse e-mail :<br/>
<input name="exped" value="<?php echo $HTTP_POST_VARS['exped']; ?>" type="text" size="55" /></p>
<p><?php if ((isset($HTTP_POST_VARS['envoi'])) && (empty($objet))) {echo "<img src=\"themes/default/img/cross.gif\">";} ?>L'objet de votre message :<br/>
<input name="objet" value="<?php echo $HTTP_POST_VARS['objet']; ?>" type="text" size="55" /></p>
<p><?php if ((isset($HTTP_POST_VARS['envoi'])) && (empty($message))) {echo "<img src=\"themes/default/img/cross.gif\">";} ?>Votre message :<br/>
<textarea name="message" cols="41" rows="15"><?php echo $HTTP_POST_VARS['message']; ?></textarea></p>
<p><?php if ((isset($HTTP_POST_VARS['envoi'])) && (empty($antispam))) {echo "<img src=\"themes/default/img/cross.gif\">";} ?>Filtre anti-spam :<br/>
<?php echo "Qu'obtient-on quand à $x on ajoute $y ?"; ?>
<input name="antispam" type="text" size="55" /></p>
<input type="hidden" name="solution" value="<?php echo $solution; ?>" />
<p><input type="submit" name="envoi" value="Envoyer" /></p>
</form>
 
 
</div>
Et voilà l'endroit où est le script :
http://www.eacute.fr/dotclear/index.php?option=mail

je sais qu'il existe des filtres anti spam tout fait, mais en l'occurence j'aime faire les choses moi-même quand je sais que c'est possible... et là ça m'agace !

Merci d'avance à tous !