2010-12-15 6 views
-2

tout corps peut dire "Comment désactiver le bouton de retour du navigateur" en utilisant PHP. Je peux désactiver l'utilisation de javascript, mais il existe un moyen de désactiver l'utilisation de PHP.désactiver le bouton de retour du navigateur en utilisant PHP

Je n'ai besoin que de pages dynamiques et non statiques.

+0

Peut-être accepter d'autres réponses à vos questions? C'est 22 rep pour vous si vous le faites ;-) – Bojangles

+1

Il n'y a aucun moyen de le faire via PHP. C'est généralement une mauvaise pratique d'essayer de désactiver la fonctionnalité native du navigateur. Vous pourriez envisager une approche différente. Qu'essayez-vous d'accomplir en désactivant le bouton de retour? – enobrev

+0

Salut, merci pour votre réponse. Mon intention est, si l'utilisateur est dans la page authentifiée (déjà connecté), et en essayant de cliquer sur le bouton de retour, il ira à la page précédente. Cela ne se produira pas correctement .. – vishnu

Répondre

3

C'est un problème lié au client, donc non il n'y a aucun moyen de désactiver le bouton de retour en utilisant le côté serveur.

De plus, je pense que c'est une mauvaise habitude de le désactiver.

Si vous voulez éviter la soumission de formulaires lorsque l'utilisateur clique sur le bouton de retour, vous devriez jeter un oeil au redirect after post pattern.

+0

+1 pour mauvaise pratique. – rik

3

Il n'y a aucun moyen de le désactiver via PHP - PHP est un langage côté serveur, ce qui signifie qu'il ne peut pas interagir avec quoi que ce soit en dehors de son serveur directement.

Vous pouvez toujours obtenir PHP pour imprimer du JavaScript pour désactiver le bouton de retour.

James

1

Vous ne pouvez pas désactiver le bouton Précédent avec PHP. Vous pouvez désactiver la mise en cache en utilisant quelque chose comme ceci:

<?php 
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past 
?> 

Cela ajoutera les en-têtes appropriés à la requête HTTP pour informer le navigateur doit recharger la page au lieu d'aller chercher à travers un cache.

+0

Non - pour une opération GET, dans certains cas, de nombreux navigateurs ignorent les instructions de ne pas utiliser une copie mise en cache lorsque le bouton Précédent est enfoncé ou via l'objet d'historique javascript. Je ne suis au courant d'aucun qui le fasse après un POST. – symcbean

0

PHP est un langage serveur. Non de votre code PHP est jamais exécuté sur la machine de vos clients. PHP "génère" simplement le pag et envoie le message au client. Le seul inconvénient que je peux penser est, en faisant de votre code PHP inclure le javascript dans la page que vous créez.

0

Si je comprends bien votre intention, au lieu de désactiver sur la page de connexion le bouton de retour (pas une très bonne idée usabilitywise de toute façon), vous pouvez faire une vérification avec PHP comme ceci (pseudo-code):

if user is logged in then 
    redirect to last page 
end 

Donc, si l'utilisateur clique sur le bouton de retour, elle sera redirigée vers la page qu'elle était. Ce pseudo-code est bien sûr un peu trop simpliste, vous devriez probablement faire quelques vérifications, et vous devriez probablement avertir l'utilisateur de la redirection, mais c'est l'idée.

+0

Salut, merci pour votre réponse. J'ai fait comme suit: Le premier utilisateur s'est inscrit, a défini la valeur de la session et quand il clique sur le bouton de retour, j'ai mis la condition dans la disposition principale.Et ici, j'inclus le script java: fonction Noback() \t \t {\t \t \t \t \t \t window.history.forward (1); \t \t \t setTimeout ("noBack()", 500); \t \t} \t jquery $ (document) .ready (function() { \t \t Noback(); \t \t \t \t \t window.onpageshow = function (EVT) {if (evt.persisted) Noback(); } \t \t window.onunload = fonction() {void (0);} \t}); – vishnu

Questions connexes