PHP redirection vers URL aprés déconnexion

Petit nouveau ! | 4 Messages

16 mai 2011, 18:31

Bonjour

Je suis en cours d'installer un script PHP sur mon serveur. Je voudrais mettre une redirection vers une URL, après la déconnexion. Il faudrait aussi éviter que le client retourne vers la page antérieure en utilisant le bouton "back" du navigateur afin d'éviter que le client se connecte de nouveau sans insérer son mot de passe... Je copie ci-dessous le code de mon fichier logout.php, pour faciliter. Merci d'avance pour vos résponses!

Code : Tout sélectionner

<?php session_start(); session_unset(); //--- Unset session variables. session_destroy(); //--- End Session we created earlier. include ("../config/config.inc.php"); ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title></title> <script src="../lib/RPL/Encryption/aamcrypt.js" type="text/javascript" language="JavaScript"></script> <script src="../lib/RPL/Encryption/boxes.js?<?php echo time();?>" type="text/javascript" language="JavaScript"></script> <script language="JavaScript"> <!-- inpdata = 'language=<?php echo $_REQUEST["language"];?>'; encodeblowfish(); encoded = outdata; parent.location.href = '../index.php?key=' + encoded;; //--> </script> </head> <body> </body> </html>

Eléphant du PHP | 241 Messages

16 mai 2011, 19:36

Salut,

pourquoi ne pas simplement utiliser un header() après tes session_unset() etc. ?

Pour le problème du retour arrière, c'est à toi de faire les test au niveau de tes pages.
Par exemple avec une variable de session qui serait initialiser avec une valeur lorsque le membre se connecte, tu vérifie si cette valeur existe sinon tu redirige vers une autre page. (Le tout de façon un peu plus pousser pour que ce soit le plus sécuriser possible)

Petit nouveau ! | 4 Messages

17 mai 2011, 00:32

Merci Misterflo,

ça marche! :-)

Bonne soirée

Petit nouveau ! | 4 Messages

17 mai 2011, 01:06

Misterflo,

j'avais testé sur IE 9.0, ça marche. Sur Chrome et Firefox le code redirection ne marche pas, quand je clique sur le bouton Logout, il me retourne sur la page de logout, pas sur le site web. Est-ce que tu peux jetter un coup d'oeil sur le code et me conseiller une solution? Peut être je me suis trompé :-)

Code : Tout sélectionner

<?php session_start(); session_unset(); //--- Unset session variables. session_destroy(); //--- End Session we created earlier. header ("Location: http://monsiteweb.com"); include ("../config/config.inc.php"); ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title>xxx</title> <script src="../lib/RPL/Encryption/aamcrypt.js" type="text/javascript" language="JavaScript"></script> <script src="../lib/RPL/Encryption/boxes.js?<?php echo time();?>" type="text/javascript" language="JavaScript"></script> <script language="JavaScript"> <!-- inpdata = 'language=<?php echo $_REQUEST["language"];?>'; encodeblowfish(); encoded = outdata; parent.location.href = '../index.php?key=' + encoded;; //--> </script> </head> <body> </body> </html>

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

17 mai 2011, 18:42

Assure-toi que rien n'est envoyé au navigateur avant le header ou le session_start : il ne doit rien y avoir avant le <?php, ni espace, ni saut de ligne...

Et logiquement le reste de ta page ne servira à rien si la redirection est correctement effectuée :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Petit nouveau ! | 4 Messages

17 mai 2011, 23:20

Merci à vous deux, Misterflo et Ryle! :-) tout marche bien maintenant, grâce à vos renseignements.

Cordialement.