|
|
|
|
Bonjour,
Je veux empêcher l'utilisateur d'accéder directement à certaines pages de mon site... s'il n'est pas "loguer".
Alors, je fais le test suivant :
if(!isset($_SESSION['login'])) // Session pas ouverte
header("location:index.php"); // Rediriger vers page connexion
Cependant, j'ai certaine pages qui ne sont utilisées avec la fonction include()...
Je ne peux donc pas utiliser la fonction header puisqu'il y a déjà du code HTML d'inscrit dans le fichier qui appelle le include...
Existe-t-il une autre fonction php qui permet d'ouvrir un URL...
Que me suggérez-vous ? Enlever les include() ???
Merci de vos conseils,
Marilyne
Salut,
|
Moi je pense que c'est une question d'organisation du site, je parle point de vus arborescance de ton répertoire de travail. De toute façon, même avec des include tu peux toujours rediriger l'utilisateur : il te suffit de programmer d'une certaine facon : Par exemple, si tu veux afficher qqchose en fonction d'une action d'un utilisateur, ta page ressemblera à cela :
// Ici ;
if(! isset($_SESSION['valid_user']))
header("location: bidule.php");
if(action == truc )
{
include "monFormulaire1.php";
}
else
{
include "présentationDeLaPage.php";
}
Mais tu peux laiser ton test au début de fichier, de cette facon, tu paeux afficher plusieur chose sans changer de fichier et que ton test soit effectif. ++ ~ iclic @ gauch,iclic, iclic @ droate, iclic, iclic et ya pas de bôg môsieu ! ~ |
De même, si tu veux faire des traitements et des formulaires :
if(! isset($_SESSION['valid_user']))
header("location: bidule.php");
if( $_POST['val'] == 1 )
{
include "traitement.php";
}
else if( $_POST['val'] == 2)
{
echo "Vous avez répondu coorectement au formulaire !";
}
else
{
include "formulaire.php";
}
Et dans ton formualaire la redirection sera la suivante : <FORM action=page.php?val=1" .... </ccode> Dans le fichier traitement.php : |
C'est simple, en effet la balise meta refresh marche bien en dehors de <head></head> ;)
|
C'est simple, en effet la balise meta refresh marche bien en dehors de <head></head> ;)
|