deux petites questions de la part d'un newbie

Petit nouveau ! | 9 Messages

19 mai 2005, 15:24

bon je suis desespéré ](*,) !!! j'ai code quelques petites pages de test et le bouton précédent me tape sur le systeme je vous montre mon codage :

Code : Tout sélectionner

<?php session_start(); if(isset($_SESSION['login'])&&$_SESSION['login']=="bob") { $login=$_SESSION['login']; $MDP=$_SESSION['passe']; echo' <html> <head> <meta http-equiv="refresh" content="2;URL=./page2.php"> </head> <body>'; echo'<br> le login est : ',$login; echo'<br> le passe est : ',$MDP; echo'<br><br><a href="index.php" target="_parent">se deloguer</a>'; echo'</body> </html>'; } else { echo' <html> <head> <meta http-equiv="refresh" content="0;URL=./index.html"> </head> <body > </body> </html>'; } ?>
imaginez que vous etiez bien loguer avec bon mot de passe mais que la pause s'impose votre petite pause café de 10h vous attend donc par "sécurité" vous vous déloguez en cliquant sur mon petit lien "se deloguer" ce qui aura pour effet de vous envoyer sur index.php don voici le code :

Code : Tout sélectionner

<?php // On appelle la session session_start(); // On écrase le tableau de session $_SESSION = array(); // On détruit la session session_destroy(); ?> <html> <head> <meta http-equiv="refresh" content="0;URL=./index.html"> </head> <body> </body> </html>
cette page en theorie detruit la session puis me fait une redirection sur ma page daccueil et la si un petit malin clique sur précédent eh ben ca marche il arrive sur page2.php comme sil etait encore avec une session sauf que apperement ca marche que jusque au rechargement de ma page page2.php ou la il comprend enfin quil n'y a pas de session alors que faire sachant que dans mon vrai codage je rafraichis mes page que toutes les 5secondes et que pendant ce temps la le petit malin pourra faire ce qui veut sur cette page :cry:

Mammouth du PHP | 19672 Messages

19 mai 2005, 15:34

Ok, tu vas faire autrement. Tu vas créer une page avec juste ceci:
<?php
// On commence par ouvrir la session 
session_start(); 

// On désenregistre la session login 
unset($_SESSION["login"]); 

// On supprime ttes les variables de la session 
session_unset(); 

// On redirige vers la page index
header("Location : ./index.php");
?>
Comme ça, pas de refresh quelconque, tu enregistre ça sous le nom deco.php et tu fais pointer ton lien [Se délogguer] dessus
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Petit nouveau ! | 9 Messages

19 mai 2005, 16:08

bon je suis désolé mais ça marche pas, pire le header ne marche même pas ce que je trouve inquiétant et je crois que tu a fais une petite erreur dans ton code ->

Code : Tout sélectionner

header("Location : ./index.php");
mais :

Code : Tout sélectionner

header("Location : ./index.html");
à part ce petit detail insignifiant ca me dit pas pourquoi mon header ne marche et pourquoi le bouton précédent continu de m'en faire voir de toute les couleurs

peut être c'est juste un souci de memoire cache du navigateur et que ci je vide le cache mes soucis disparaitront si il y a des personnes qui puissent me donner plus d'informations sur ce sujet la
merci d'avance

Petit nouveau ! | 9 Messages

19 mai 2005, 16:21

ben désolé le header marche très bien je suis un boulet. mais ta page n'enleve en rien au fait qu'on peut toujours faire précédent

Mammouth du PHP | 19672 Messages

19 mai 2005, 16:36

bien sur, mais la session est terminée et le login n'est plus bon si tu as correctement géré l'initialisation de ta variable
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Petit nouveau ! | 9 Messages

19 mai 2005, 16:48

excuse moi cyrano je m'exprime mal en effet le problème n'est pas sur la session mais plutôt un problème de cache de navigateur (du moins c'est ce qu'il me semble je me trompe peut être) ce qui fait que quand on clique sur précédent il arrive à rester sur page2.php pendant un bref instant car la page se recharge toutes les 2secondes et quand elle se recharge là on a plus de probléme car elle me renvoie bien là ou il faut