nthlc
Newbie
Karma : +0/-0
Hors ligne
Messages: 12
|
Bonjour,
J'ai installé le script et pour l'instant tout marche bien et donc merci.
SAUF un petit problème
Quand le visiteur après s'être identifié arrive sur la page destination.php je lui demande de cliquer sur un lien qui l'envoie sur une autre page en utilisant le code suivant <a href="page2.php?id=<?php echo $id; ?>"> qui fait suivre l'identifiant CA MARCHE
J'arrive donc sur ma deuxième page et je souhaite maintenant le faire passer sur une troisième page elle aussi protégée, j'utilise donc le même code <a href="page3.php?id=<?php echo $id; ?>"> toujours pour faire suivre l'ID
Et là, CA MARCHE PLUS, catastrophe l'accès de la apge est refusée, l'ID ne suit plus
Merci de m'indiquer comment faire, je pense que la question a peut être déjà été posée mais je ne la trouve ps
|
|
|
|
|
Journalisée
|
|
|
|
|
Paul-Admin
|
Salut !
un petit coup d'oeil au fichier readme.txt te donne la réponse :
De plus, si vous crééz d'autres pages cibles (comme destination 1/2/3 ou 4), il faut obligatoirement que ces pages soient en php3 (ou .php) mais pas en HTML, car en entête de ces pages, vous devez insérer le code suivant :
<?php // debut du code require_once("protec/passe/conf.php"); Error_Reporting(1); @set_magic_quotes_runtime(0); if($active_session=="1") { session_start(); $id=addslashes($_SESSION["id"]); } else { $id=addslashes($_GET["id"]); } $db_link=connect_db(); $droits=verif_login($id); // fin du code ?>
@+
Paul
|
|
|
|
|
Journalisée
|
http://www.scriptsgratuits.com http://www.apreslamort.net http://www.vol-de-quad.com
|
|
|
nthlc
Newbie
Karma : +0/-0
Hors ligne
Messages: 12
|
Merci pour votre réponse mais j'ai inséré en début de chaque script le code [code] <? require_once ("mdpasse/protection1.php"); ?> [/code] et protection1.php reprend [code]<?php // debut du code require_once("protec/passe/conf.php"); Error_Reporting(1); @set_magic_quotes_runtime(0); if($active_session=="1") { session_start(); $id=addslashes($_SESSION["id"]); } else { $id=addslashes($_GET["id"]); } $db_link=connect_db(); $droits=verif_login($id); // fin du code ?>[/code]
Mes sessions sont bien activées dans mon conf.php mes extensions de fichier sont en .php3
Mais hélas trois fois hélas l'ID ne suit pas au delà de ma page 2
|
|
|
|
|
Journalisée
|
|
|
|
|
Paul-Admin
|
Essaie de ne pas inclure de fichier mais de mettre directement le code dans la page de destination. Si tu as activé les sessions, tu n a pas besoin de transmettre l identifiant dans les liens : <a href="page3.php?">
|
|
|
|
|
Journalisée
|
http://www.scriptsgratuits.com http://www.apreslamort.net http://www.vol-de-quad.com
|
|
|
nthlc
Newbie
Karma : +0/-0
Hors ligne
Messages: 12
|
Bon j'ai trouvé et je me permets donc d'apporter une suggestion à votre script d'entrée de nouvelle page
[code]<?php require_once("mdpasse/protec/passe/conf.php"); Error_Reporting(1); @set_magic_quotes_runtime(0);
// sessions if($active_session=="1") { session_start(); $id=addslashes($_SESSION["id"]); $url="mdpasse/protec/delogue.php"; [b]session_register("id","active_session");[/b] } else { $id=addslashes($_GET["id"]); $url="mdpasse/protec/delogue.php?id=".$id; }[/code]
L'insertion de la fonction session_register permets l'enregistrement des variables de session pour le passage d'une page à une autre
|
|
|
|
|
Journalisée
|
|
|
|
|
Paul-Admin
|
Bizarre ton truc car session_register est a utiliser 1 seule fois pour enregistrer la variable, mais une fois la variable enregistree, t as plus besoin de l enregistrer encore (comme tu le fais). donc je suppose que tu perds ta variable de session en page destination 1
|
|
|
|
|
Journalisée
|
http://www.scriptsgratuits.com http://www.apreslamort.net http://www.vol-de-quad.com
|
|
|
nthlc
Newbie
Karma : +0/-0
Hors ligne
Messages: 12
|
Moi je crois que l'on utilise session_register à chaque changement de page or comme mon problème est de passer de pages en pages et de vérifier à chaque fois que le visiteur est bien identifié il faut que son id de session le suive au fur et à mesure de son avancée dans les pages, d'ou un session_register à chaque changement de page.
Voila par contre il est inutile d'enregistre la variable active_session comme je le mets je suis allé un peu vite là dessus mais par contre il faut enregistre l'ID de session pour changer de page ce qui revient au même que de passer par un GET quand on a désactivé les sessions. En passant par un GET il faut que l'ID du visieteur suive le cheminement de page en page
Je contunue à tester et je te fais part de mes modifs.
Merci
|
|
|
|
|
Journalisée
|
|
|
|
|
Paul-Admin
|
Tu te trompe, session_register ne doit etre utilisé qu'une seule fois (dans la page login.php. Une fois la variable de session enregistrée, il suffit de mettre un session_start sur chaque page pour recupérer la variable enregistré par session_register. donc il y a un moment ou tu perds ta variable, pour ça que ça marche si tu la re enregistres, c est bizarre en tout cas...
|
|
|
|
|
Journalisée
|
http://www.scriptsgratuits.com http://www.apreslamort.net http://www.vol-de-quad.com
|
|
|
nthlc
Newbie
Karma : +0/-0
Hors ligne
Messages: 12
|
Je suis d'accord avec toi et en fait je m'apperçois que je suis en plein plantage, quand le script vérifie les droits il vérifie qu'elle variable ? par contre tu n'utilises pas session_register dans ton script login.php
|
|
|
|
|
Journalisée
|
|
|
|
|
Paul-Admin
|
en fait quand je mets $_SESSION["id"] = $lid; dans la page login.php ça equivaut à un session_register
|
|
|
|
|
Journalisée
|
http://www.scriptsgratuits.com http://www.apreslamort.net http://www.vol-de-quad.com
|
|
|
|
Paul-Admin
|
essaie de faire un print_r($_session) sur chaque page de destination. Cela affiche toutes les variables de session, comme ça tu verras si les variables de session se perdent quelquepart
|
|
|
|
|
Journalisée
|
http://www.scriptsgratuits.com http://www.apreslamort.net http://www.vol-de-quad.com
|
|
|
nthlc
Newbie
Karma : +0/-0
Hors ligne
Messages: 12
|
OK j'ai trouvé le script est parfait si on reste à l'intérieur du répertoire destination on peut même y faire des sous répertoires et passer de page en page sans problème. Les pertes de variable de session viennent quand on quitte ce répertoire destination (par le haut) alors là il y a un problème.
Tout ceci est donc parfait je vais construire mon site ou plutôt mon espace membre en incluant des sous répertoires dans le répertoire destination.
Questio: un membre qui s'est identifié et qui a les droits pour aller sur lage destination3 peut quand même aller sur la page destination2 en remplaçant dans la baree de navigation une fois qu'il est entré sur sa page de destination le 3 en 2 Une fois qu'il est sur http://www/monsite.com/destination/destination3.php il eut alors écrire http://www/monsite.com/destination/destination2.php et alors là il peut accéder à une page pour lesquels il n'a théoriquement pas les droits.
Voilà c'est fini pour aujourd'hui ou plutôt pour hier, donc bonne nuitée et à demain
|
|
|
|
|
Journalisée
|
|
|
|
|
Paul-Admin
|
Ok, tu me l'aurais dit de suite je t aurais dit que le probleme venait de la car dans mes includes on considere etre dans le repertoire destination, les includes ne marchent pas si on est pas dans ce repertoire. Pour ta question, les pages destination 1 à 4 sont les mêmes, un membre connecté peut aller sur toutes les pages de destination, sauf les pages d'admin.
|
|
|
|
|
Journalisée
|
http://www.scriptsgratuits.com http://www.apreslamort.net http://www.vol-de-quad.com
|
|
|
|