[PHP] cacher page visiteurs

Résolu
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?
--
L'amour, c'est comme les spaghettis; quand c'est mou, c'est cuit. (proverbe belge)

7 réponses

  1. pour protéger tes pages:

    vas voir sur Google sessions en php
    0
    1. Je sais comment marche les sessions, ce que je ne comprend pas c'est pourquoi mon script ne fonctionne pas.
      0
      1. 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
        1. 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
          1. 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
            1. Ok merci mais comment fait tu pour définir l'array?
              0
              1. Ok j'ai compris ma faute.
                Merci :)
                0