valb06
Messages postés1Date d'inscriptiondimanche 28 octobre 2007StatutMembreDernière intervention29 janvier 2008
-
29 janv. 2008 à 11:49
zen69
Messages postés584Date d'inscriptionjeudi 28 décembre 2006StatutMembreDernière intervention29 avril 2010
-
30 janv. 2008 à 02:03
Bonjour,
Avant de poster, j'ai visité votre forum et cherché sur le web, mais je n'ai pas trouvé la solution à mon problème. J'ai crée un formulaire de contact en php traité, via méthode post, par traitement.php. Si l'internaute ne fait aucune erreur, un cookie est crée pour éviter le flood, puis est renvoyé sur une page de confirmation. Si il y a flood, par rafraîchissement, retour-arrière ou click sur le lien contact, le cookie bloque l'envoi d'un nouveau message. Tout fonctionne en local (wampserver sur windows xp). Mais en ligne, rien à faire.
Le code de traitement php ne comporte aucun code html.
<?php
//Ici totalité du code de traitement du formulaire (en cas d'erreur de saisie, l'utilisateur est renvoyé au form via un require (contact.php) pour corriger ses erreurs.
//toutes les vérif d'usage (je m'abstiens de les recopier)
............
//On vérifie qu'il n'y a pas le fameux cookie anti-flood
elseif (!isset($_COOKIE['sent']))
//Si tout est ok :
/*On créé un cookie de courte durée (ici 60 secondes) pour éviter de renvoyer un mail en rafraichissant la page - A modifier */
setcookie('sent', '1', time() + 60);
// On détruit la variable $_POST
unset($_POST);
}
else
{
//Si une erreur survient lors de l'envoi
$alert = 'message qui s\'affiche dans la page erreur';
require ('erreur.php');
die;
}
}
/* Cas où le cookie est créé et que la page est rafraichie, on détruit la variable $_POST */
else
{
unset($_POST);
//Confirmation d'envoi d'email
$alert = 'message indiquant le flooding.';
require ('erreur.php');
die;
}
}
else
{
//Si une erreur survient lors de la soumission du formulaire
$alert = 'erreur de soumission';
require ('erreur.php');
die;
}
?>
Je rappelle que tout fonctionne parfaitement en local, mais en ligne seul le cookie ne fonctionne pas. Merci de m'éclairer, je suis en panne.
Valérie