8721 sujets

Développement web côté serveur, CMS

Bonjour à tous.

Je me suis bidouillé un captcha simplissime à base des chiffres de l'heure que je récupère :

<?
	$date = date("d-m-Y");
$heure = date("H");
$OK = "OK";
	  	  
/* R&eacute;cup&eacute;ration des valeurs des champs du formulaire */
if (get_magic_quotes_gpc())
{
	$identite = stripslashes($_POST['identite']); 
    $adresse = stripslashes($_POST['adresse']); 
    $message = stripslashes($_POST['message']); 
} 
else
{  
	$identite = $_POST['identite']; 
	$adresse = $_POST['adresse']; 
    $message = $_POST['message']; 
}

$sujet = "Message depuis site xxxxxxxxxxx";
$identite = $identite;
$msg = '    ';

/* Destinataire (votre adresse e-mail) */
$to = 'xxxxxxxxxxxxxxx@free.fr';
 
/* Construction du message */
$msg .= '  '."\r\n";
$msg .= 'Identite; : '.$identite."\r\n";
$msg .= 'Adresse e-mail : '.$adresse."\r\n";

$msg .= 'Message : '.$message."\r\n\r\n";
 
/* En-t&ecirc;tes de l'e-mail */
$headers = 'From: '.$identite.' <'.$adresse.'>'."\r\n\r\n";
 
/* Envoi de l'e-mail */

if ($heure != $captcha){
echo("Le code anti-spam est erroné.");
exit;
}
mail($to, $sujet, $msg, $headers);
if ($heure == $captcha){
echo("Votre message a bien été envoyé. Merci.");
}

?>


Ce système fonctionne très bien sur un serveur Free, mais sur OVH j'obtiens systématiquement l'echo : "Le code anti-spam est erroné.", donc sur OVH la condition
if ($heure != $captcha)
est toujours considérée comme vraie.

Je précise que dans ma page formulaire l'heure du captcha s'affiche correctement.

Quelqu'un peut-il m'expliquer pourquoi ce script fonctionne bien sur Free mais pas sur OVH ? Merci beaucoup.
Modifié par themadwizard (08 Apr 2013 - 14:20)
Merci Mini-truc de t'intéresser à mon problème. Smiley smile

Mais je ne comprends pas ta réponse. Dans le formulaire, il y a :
recopiez ce code anti-spam : <?php
$date = date("d-m-Y");
$heure = date("H");
echo $heure; 
?><br/><input name="captcha" type="text" id="captcha" size="2" maxlength="2"><br/><br/>
		  <input name="envoyer" type="submit" value="   ENVOYER LE MESSAGE   " style="COLOR: #ffffff; BACKGROUND-COLOR: #e7697d"  class="styletexte">


Tu voudrais que j'affiche "les deux, $heure et $captcha" où ??? Merci beaucoup.
Modifié par themadwizard (09 Apr 2013 - 20:08)
ans ta vérification remplace $captcha par $_POST['captcha']. Sur free la directive register global est à on, c'est pour ça que ça fonctionne chez eux.