[PHP] cacher page visiteurs

Résolu
okuni Messages postés 1325 Statut Membre -  
okuni Messages postés 1325 Statut Membre -
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. Alain_42 Messages postés 5413 Statut Membre 904
     
    pour protéger tes pages:

    vas voir sur Google sessions en php
    0
  2. okuni Messages postés 1325 Statut Membre 126
     
    Je sais comment marche les sessions, ce que je ne comprend pas c'est pourquoi mon script ne fonctionne pas.
    0
  3. Alain_42 Messages postés 5413 Statut Membre 904
     
    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
  4. okuni Messages postés 1325 Statut Membre 126
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. le père
     
    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
  7. okuni Messages postés 1325 Statut Membre 126
     
    Ok merci mais comment fait tu pour définir l'array?
    0
  8. okuni Messages postés 1325 Statut Membre 126
     
    Ok j'ai compris ma faute.
    Merci :)
    0