par
Saian » 29 nov. 2012, 15:25
Dans mon exemple $title = $page['title']; est la bonne écriture. $page['file']['title'] n'existe pas.
Et, dans mon exemple toujours, le test de session et la fonction header pourrait tout à fait être dans le fichier inclus (voir dans un fichier de test de la session qui serait inclus dans toutes les pages de l'accès membre).
Ou on pourrait ajouter un index 'member_space' => true et ajouter un test avant l'include pour faire la redirection si c'est une page de l'espace membre et que l'utilisateur n'est pas connecté.
$pages = array(
'default_page' => array(
'file' => 'nom_fichier.php',
'title' => 'titre page'
),
'nom_page' => array(
'file' => 'nom_fichier.php',
'title' => 'titre page'
),
'une_page_membre' => array(
'file' => 'nom_fichier.php',
'title' => 'titre page',
'member_space' => true
),
//...
);
$page = isset($pages[$_GET['page']]) ? $pages[$_GET['page']] : $pages['default_page'];
if(isset($page['member_space']) && $page['member_space'] && /* utilisateur non connecté */)
header('Location: index.php?page=login');
exit();
}
$title = $page['title'];
include($page['file']);
Dans mon exemple $title = $page['title']; est la bonne écriture. $page['file']['title'] n'existe pas.
Et, dans mon exemple toujours, le test de session et la fonction header pourrait tout à fait être dans le fichier inclus (voir dans un fichier de test de la session qui serait inclus dans toutes les pages de l'accès membre).
Ou on pourrait ajouter un index 'member_space' => true et ajouter un test avant l'include pour faire la redirection si c'est une page de l'espace membre et que l'utilisateur n'est pas connecté.
[php]$pages = array(
'default_page' => array(
'file' => 'nom_fichier.php',
'title' => 'titre page'
),
'nom_page' => array(
'file' => 'nom_fichier.php',
'title' => 'titre page'
),
'une_page_membre' => array(
'file' => 'nom_fichier.php',
'title' => 'titre page',
'member_space' => true
),
//...
);
$page = isset($pages[$_GET['page']]) ? $pages[$_GET['page']] : $pages['default_page'];
if(isset($page['member_space']) && $page['member_space'] && /* utilisateur non connecté */)
header('Location: index.php?page=login');
exit();
}
$title = $page['title'];
include($page['file']);[/php]