Flux rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

Interdire "page précedente " en php

froujaOne, le vendredi 15 décembre 2006 à 08:43:08
bonjour,
en fait g 3 pages php la 1ere fait un calcul et envoi des variables a la 2eme page qui a son tour traite ces données récupérées et les envoie par mail. la troisieme affiche que le resultat a bien été envoyé.
le pb c que si je suis sur la 3ieme page et je fait précedent je retourne a la 2ieme page par consequent j'aurais un envoie de mail de plus.
comment je pourrais interdire ce retour arriere (precedent).

merci d'avance
Configuration: Windows XP
Internet Explorer 6.0
Répondre à froujaOne  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
slum-dunk, le vendredi 15 décembre 2006 à 08:54:22
salut,mais eske tu as vérifié si eske le mail part deux fois ou une seule fois???
Répondre à slum-dunk

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
froujaOne, le vendredi 15 décembre 2006 à 08:58:47
si g verifié.
Répondre à froujaOne

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
slum-dunk, le vendredi 15 décembre 2006 à 09:47:34
bon ce que tu peux faire c'est faire une redirection vers une autre page lorsque le message a été bien envoyé.
Répondre à slum-dunk

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
kij_82, le vendredi 15 décembre 2006 à 10:01:03
Ca ne change rien au probleme puisque l'utilisateur peut toujours revenir sur la page précédente
~ iclic @ gauch,iclic, iclic @ droate, iclic, iclic
et ya pas de bôg môsieu ! ~
Répondre à kij_82

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
kij_82, le vendredi 15 décembre 2006 à 09:39:46
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 ! ~
Répondre à kij_82

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
slum-dunk, le vendredi 15 décembre 2006 à 10:33:53
Bien vu Kij_82.c'est la bonne méthode...
Répondre à slum-dunk

7


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
kij_82, le vendredi 15 décembre 2006 à 10:35:59
Je ne sais pas si c'est LA bonne méthode, disons que s'en est une ^^
~ iclic @ gauch,iclic, iclic @ droate, iclic, iclic
et ya pas de bôg môsieu ! ~
Répondre à kij_82

8


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
slum-dunk, le vendredi 15 décembre 2006 à 10:46:32
Merci au moins d'avoir trouvé une méthode.
Répondre à slum-dunk

9


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 bibiconseil, le samedi 29 décembre 2007 à 18:56:52
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 !!!
Répondre à bibiconseil
Toutes les réponses pour « interdire &quot;page précedente &quot; en php »