Forcer le passage par une page.

DsD7 Messages postés 5 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 19 juin 2010 - 18 juin 2010 à 21:13
DsD7 Messages postés 5 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 19 juin 2010 - 19 juin 2010 à 00:09
Bonsoir,
je débute en php et mon problème est le suivant.
Je travail sur un projet de site vitrine pour une marque d'alcool. Ma page de contrôle de l'âge est index.php. Je cherche un moyen de forcer le passage par cette page pour toute personne qui tenterait d'accéder au site via une autre page.
merci
Cordialement.

2 réponses

DsD7 Messages postés 5 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 19 juin 2010
18 juin 2010 à 23:48
J'ai trouvé :
Avec une session sur la page index.php :
<?php
session_start();

// Si une session est déjà présente ont redirige vers une autre page (pas besoin d'afficher le formulaire de connexion)
if(isset($_SESSION['ok'])){
 header('Location: autre_page.php');
 exit();
}

// Si ont soumet le formulaire
if(isset($_POST['valide'])){
 // si bien majeure
  $_SESSION['ok'] = true;
  header('Location: autre_page.php');
}
?>
<!-- Le formulaire -->

Et sur les autres pages, ont vérifie juste si la session existe en début de page :

<?php
// si la session n'existe pas ont redirige vers index.php
if(!isset($_SESSION['ok'])){
 header('Location: index.php');
}
?>
<!-- La page -->


Ma question est : les codes je les place avant la première balise html c'est ça ?
Je demande parce-que là je les ai placés de cette manière et, je suis bien rediriger vers index.php, mais la variable session ne doit pas s'enregistrer car je n'ai plus accès aux autres pages.
0
DsD7 Messages postés 5 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 19 juin 2010
19 juin 2010 à 00:09
Résolu, il faut déclarer les sessions sur toutes les pages avant de pouvoir les utiliser.
0
Rejoignez-nous