|
|
|
|
froujaOne, le vendredi 15 décembre 2006 à 08:43:08Configuration: Windows XP Internet Explorer 6.0
salut,mais eske tu as vérifié si eske le mail part deux fois ou une seule fois???
|
Si tu ne souhaite que pouvoir envoyer un seul mail par adresse mail, dans ce cas tu peux faire un system de vérification d'adressse email lors de l'envoi du formulaire.
S'il s'agit d'une adresse à laquelle rien n'a encore été envoyé, dans ce cas tu enregistre l'adresse dans un fichier ou dans une table de base de donnée S'il s'agit d'une adresse déjà répertorié dans ton fichier ou ta base, alors tu n'envoi pas le mail. Et pour tester, à chaque tentative d'envoi tu lis ton fichier ou récupère de ta base de donnée les adresses déjà validée et si l'adresse courante en fait partie... Voilà, une petite solution pour t'éviter d'envoyer plusieur fois le mail à chaque personne. Le probleme c'est qu'au bout d'un moment des adresse mail t'en a un wagon, donc deuxieme solution à laquelle je viens de penser : Tu créé une variable de session dans laquelle lorsque tu envoi le mail tu passe l'adresse à laquelle ca a été envoyé. Ainsi, lors de l'envoi du mail, juste avant, tu test si ta variable de session existe ou non, et si elle existe, si l'adresse mail sur laquelle envoyer est la même alors tu n'envoi pas (car déjà envoyé) Résumé :
$_SESSION["mail"] = "ours@hotmail.com";
$mail = "toto@hotmail.com";
if ( isset($_SESSION["mail"] && $_SESSION["mail"] == $mail ){
echo "meme adresse mail, pas d'envoi";
}
else {
// --- Envoi :
mail(...);
// --- Update de l'adresse mail dans la session
$_SESSION["mail"] = $mail;
// --- Redirection sur la page suivante
....
}
Voilà, bien sur faut mettre en place un systeme de session pour tes pages. En espérant que ca te donne des idées. ~ iclic @ gauch,iclic, iclic @ droate, iclic, iclic et ya pas de bôg môsieu ! ~
|
Il suffit d'ajouter le code javascript suivant sur la deuxième page (en dehors du code php bien sûr) pour interdire qu'une autre page revienne en arrière dessus :
<script language="JavaScript"> window.history.forward(); function page() { var w=window.document; w.write("<HTML><HEAD><TITLE>NoBack (episode 2 ET FIN) !</TITLE>"); w.write("<script language=\"JavaScript\">window.history.forward();"); w.write("<\/SCRIPT>"); w.write("</HEAD><body onunload=\"window.history.forward();\">"); w.close; } </SCRIPT> Ensuite vous ajoutez une balise body avec l'appel de la fonction javascript comm ci-dessous : <body onunload="window.history.forward();"> LE BOUTON ARRIERE DE LA TROISIEME PAGE QUI VEUT REVENIR A LA DEUXIEME SERA BLOQUE !!! |