IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

HTML Discussion :

ne pas pouvoir revenir sur une page en cliquant sur précédent


Sujet :

HTML

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2006
    Messages : 83
    Par défaut ne pas pouvoir revenir sur une page en cliquant sur précédent
    salut,

    Tout d'abord, je vais situer le problème :
    J'ai une première page qui est en faite un formulaire qui permet l'enregistrement d'un utilisateur sur le site.
    Après validation du formulaire, j'ai ma deuxième page qui s'affiche; cette page informe le visiteur la confirmation de son enregistrement.
    Le problème est que si, après l'affichage de la deuxième page, l'utilisateur clique sur le bouton précédent du navigateur, alors la première page s'affiche avec les données qu'il a entré.

    Donc j'aimerais interdire l'accès à la première page après que l'utilisateur a validé le formulaire.

    Dans l'attente d'une réponse,

    A+

  2. #2
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2006
    Messages : 83
    Par défaut Non résolu
    BisounoursJos Merci de t'intéresser à mon problème.

    Par contre je ne trouve pas la solution à mon problème; à par qu'il n'est pas possible de verrouiller le bouton précédent en JavaScript.

    Je me demandais s'il était possible par exemple d'afficher une troisième page quand l'utilisateur clique sur précédent pour l'informer qu'il n'a plus accès à la première.

  4. #4
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    Par exemple tu peux t'amuser avec les sessions en PHP :

    page1.php :
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?
    session_start();
     
    if($_SESSION['page2'] == "ok"){
       print 'Vous n\'avez plus accès à cette page';
    }
    else{
       /* ton formulaire */
    }
    ?>
    page2.php:
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?
    session_start();
     
    $_SESSION['page2'] = "ok";
    ?>
    Mais c'est de la bidouille.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2006
    Messages : 83
    Par défaut
    J'avais déjà essayé cette solution, mais je ne sais pas pourquoi ça n'a pas marché. Je crois que le code n'est pas exécuté de nouveau lorsqu'on fait précédent.
    Mais je pense que je vais réessayer ça lundi.

    En attendant je vais continuer à chercher s'il est possible de procéder autrement.

    J'ai également appris qu'il est possible de ne pas enregistrer la page dans le cache grâce à une balise (meta) en HTML. Ainsi en faisant précédent, elle ne pourra être affichée?
    Mais il est dit aussi que mozilla ne la prend pas en compte.


    Merci encore.


    PS: coté serveur je code en ASP; je te rassure ce n'est pas mon choix
    C'est pour mon stage.

  6. #6
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    Pourtant je viens d'essayer en PHP étant donné que je n'ai pas de serveur IIS et en cliquant sur Précédent la variable de session est bien créée.

    En ASP ça peut donner :

    page1.asp :
    Code ASP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <%
    if(session("page2") = "ok") then
       response.write "Vous n'avez plus accès à cette page"
    else
       'ton formulaire
    end if
    %>
    page2.asp :
    Code ASP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <%
    session("page2") = "ok";
    %>

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2006
    Messages : 83
    Par défaut
    Ça ne marche pas.

    En faisant précédent, je crois que le code n'est pas executé de nouveau. Il faudrait pouvoir forcer l'actualisation de la page. Pour cela, j'ai essayé le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <meta http-equiv="Pragma" content="no-cache" />
    <meta http-equiv="Cache-Control" content="no-cache, must-revalidate" />
    <meta http-equiv="Expires" content="0" />
    Mais toujours pas de résultats.

  8. #8
    Expert confirmé
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Par défaut
    Quand on fait "Précédent", c'est en général la page en cache qui est chargée...

    pour qu'une page ne soit pas en cache, les meta ne suffisent pas toujours, il vaut mieux envoyer les vrais en-tête HTTP via PHP ou ASP (cf faq PHP, ASP, ou des tutos PHP, tu devrais trouver ça assez facielement )
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag :resolu: (en bas)

Discussions similaires

  1. transformer liste d'1 colonne sur x pages => plusieurs colonnes sur UNE page
    Par liste excel dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 26/05/2011, 11h13
  2. [HTML] Créer une notification de connection sur une page web
    Par Invité dans le forum Balisage (X)HTML et validation W3C
    Réponses: 28
    Dernier message: 17/03/2008, 18h52
  3. Appeler une page en cliquant sur un checkbox
    Par beegees dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 29/11/2007, 11h16
  4. afficher une liste d'objets sur une page en flow.
    Par looploop dans le forum JSF
    Réponses: 1
    Dernier message: 18/09/2007, 10h54
  5. afficher la flux d'une webcam en direct sur une page web
    Par michel_frederic dans le forum Multimédia
    Réponses: 8
    Dernier message: 15/06/2006, 14h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo