Salva |
Le 23/07/2006 à 18:37  |
|
Bonjour à tous. Sur mon site, j'ai un formulaire d'inscription pour permettre à ceux qui s'inscrive d'avoir accès à certaines pages. Se script fonctionne très bien, il alimente une BD ou sont conservées toutes les données et entre autre un champ "statut" dans lequel est inscrit la valeur "client" après acceptation de l'inscription.(D'ailleurs j'ai une autre question à ce sujet, je vais faire un autre post!!) Lorsque l'internaute revient et s'authentifie je passe plusieur variable en session register pour accéder aux pages suivante. Le passage de page en page se fait par le passage d'une variable "ville" dans l'URL. Le problème c'est que je me rend compte que si dans le navigateur je tape exactement l'URL qu'il faut par exemple http://www.monsite.com/modif_agenda_moselle.php?ville=METZ Et bien j'atteris aussi sur la page, "modif_agenda_moselle.php" concernée, et donc les pages sont accéssibles par tous et mon formulaire de Login sert à pas grand chose  Comment puis je faire pour éviter cela? Salutations. |
Anthony |
Le 23/07/2006 à 18:46  |
Fou du volant |
Salut,
il faut que tu vérifies tout en haut de la page php si l'utilisateur qui consulte ton site est bien inscrit. Pour ce faire tu peux stocker une variable de session à la connexion du membre.
<?php
session_start();
if(!isset($_SESSION['ma_variable']))
{
exit('Vous n\'etes pas connecté');
}
//ton code ici
?>
|
Salva |
Le 23/07/2006 à 20:23  |
|
Salut,
Merci pour la réponse. Ca marche pour la 1er page après l'autentification mais pas les suivantes. Je precise donc le fonctionnement et l'enchainement de mes pages
Après la page d'authentification je suis dirigé vers une apge "acces.php" (Effectivement je ne peux pas aller directement à cette page en tapant l'URL exact dans le navigateur, ca c'est cool!!)
Par contre de la page acces.php l'Internaut a la possibilité d'aller sur differentes pages comme modif_mairie.php ou modif_agenda.php C'est la que ca se corse!!! Parcequ'on peut aller directement à ces pages en tapant l'URL dans le navigateur. Et si je met le code que tu ma donné et qui fonctionne sur la page acces.php les pages deviennent innacissible j'ai juste un <S en haut à gauche de la page???
Je pense que cela vient du faite que depuis ma page d'authentification je transmet des variables avec "session register" mais elles ne sont plus sur la page "acces.php" et donc l'enchainement ne se fait plus.
Merci encore pour ton aide.
Salutations. |
Anthony |
Le 23/07/2006 à 20:50  |
Fou du volant |
il ne faut pas utiliser session_register() pour enregistrer une variable de session. Faut utiliser $_SESSION['variable'] = $valeur; sinon n'oublie pas le session_start(); tout en haut sinon ça fonctionnera pas. Consulte cet article : Les sessions en PHPa + |
Salva |
Le 23/07/2006 à 23:11  |
|
Salut, Ca marche  Et ben j'ai bien galéré pour pas grand chose  En fait je m'acharnais à faire des essais sur une page qui apparement avait un problème avec un code javascript, mais qui ne posait pas de problème tant que je ne mettais pas le code
<?php
session_start();
if(!isset($_SESSION['ma_variable']))
{
exit('Vous n\'etes pas connecté');
}
//ton code ici
?>
C'est très bizzare car, sur d'autres pages avec le même code Php et le même code java script il n'y avait pas de prob  Enfin bref, maintenant j'ai supprimé ce code JS (qui en plus ne servait pas) et tout fonctionne normalement. Merci encore. @+ |