[PHP] cacher page visiteurs

Résolu/Fermé
okuni Messages postés 1221 Date d'inscription jeudi 4 septembre 2008 Statut Membre Dernière intervention 2 janvier 2014 - 8 juin 2009 à 20:00
okuni Messages postés 1221 Date d'inscription jeudi 4 septembre 2008 Statut Membre Dernière intervention 2 janvier 2014 - 9 juin 2009 à 14:15
Bonjour,

J'aimerais protéger la lecture de certaine page des visiteurs non-connecté à mon site.
J'ai pensé a faire cette fonction que je déclatre dans le header mais elle ne fonctionne pas.


function authentification()
{
	$page_array = array (
	"admin",
	"signer"
	);
	if (session_is_registered("authentification") AND $_GET['page'] == $page_array[$_GET['page']])
	{
		header("Location:accueil-intru.html");
	}
}


Quelqu'un peut-il m'aider?
A voir également:

7 réponses

Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
8 juin 2009 à 20:26
pour protéger tes pages:

vas voir sur Google sessions en php
0
okuni Messages postés 1221 Date d'inscription jeudi 4 septembre 2008 Statut Membre Dernière intervention 2 janvier 2014 126
8 juin 2009 à 20:51
Je sais comment marche les sessions, ce que je ne comprend pas c'est pourquoi mon script ne fonctionne pas.
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
8 juin 2009 à 22:20
hya alors ça ne marche pas comme ça les sessions php

hormis la page de login ou tu as session_start();
et $_SESSION['variable_sesssion']="blabla";
si l'authentif est réussie

pour toutes les autres pages, tout au début du code tu dois avoir:

<?php
session_start();
if(!isset($_SESSION['blabla']) || $_SESSION['blabla']==""){
	header("Location:index.php"); //si pas authentifié on affiche la page d'authentification
	exit;
}else{
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr">
<head>

ta page html


<?php
}
?>
0
okuni Messages postés 1221 Date d'inscription jeudi 4 septembre 2008 Statut Membre Dernière intervention 2 janvier 2014 126
9 juin 2009 à 08:44
sur mon site puisque j'utilise qu'une seule page index (la même pour toutes mes pages, je fais autrement.
les pages qui sont dans l'array "$page_array" sont celle où seul les personne connecté peuvent accéder.
Si c'est ceci qui te gène :
session_is_registered("authentification")

C'est juste le nom de la session mais on peut le remplacer par $_SESSION['blabla'] si tu veux, ça ne change rien.
Donc je suppose que c'est avec l'array que ça ne fonctionne pas. Mais où?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bonjour

$page_array[$_GET['page']] n'est pas défini
ce qui est défini, c'est $page_array[0] qui vaut 'admin', et $page_array[1] qui vaut 'signer'
Mais quand $_GET['page'] vaut admin, ou signer, ou autre chose, tu testes si 'admin'== $page_array['admin'] ou si 'signer'== $page_array['signer'] etc... alors que $page_array['admin'] et $page_array['signer'] ne sont aps définis
0
okuni Messages postés 1221 Date d'inscription jeudi 4 septembre 2008 Statut Membre Dernière intervention 2 janvier 2014 126
9 juin 2009 à 11:25
Ok merci mais comment fait tu pour définir l'array?
0
okuni Messages postés 1221 Date d'inscription jeudi 4 septembre 2008 Statut Membre Dernière intervention 2 janvier 2014 126
9 juin 2009 à 14:15
Ok j'ai compris ma faute.
Merci :)
0