login et session
Hors ligneSalva Le 23/07/2006 à 18:37 Profil de Salva Configuration de Salva

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.
Hors ligneAnthony Le 23/07/2006 à 18:46 Profil de Anthony Configuration de Anthony

Admin
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
?>
--

Hors ligneSalva Le 23/07/2006 à 20:23 Profil de Salva Configuration de Salva

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.
Hors ligneAnthony Le 23/07/2006 à 20:50 Profil de Anthony Configuration de Anthony

Admin
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 PHP

a +
--

Hors ligneSalva Le 23/07/2006 à 23:11 Profil de Salva Configuration de Salva

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.

@+
Vous avez résolu votre problème avec VIC ? Faites-le savoir sur les réseaux sociaux !
Vulgarisation-informatique.com
Cours en informatique & tutoriels