begin process at 2010 02 10 14:10:24
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Débutant(e)

 > 

Acces restreint sur une page


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Acces restreint sur une page

lundi 6 août 2007 à 16:27:35 | Acces restreint sur une page

doberman_420

Membre Club

Bonjour,

 Encore une fois j'ai besoin de votre aide et je remercie tous ceux qui mon déja aider,

 J'ai divisé ma page profil en deux index "indexFemme.php" et "indexHomme.php", dans le code que je siterais un peu plus loin, je restreint l'accés à ces pages selement aux membres et admin du site.

 Je souhaite et j'ai essayé de faire en sorte que "indexFemme.php" ne peu étre visible qu'uniquement par des membres femmes, pour cela j'ai passé dans ma session $_SESSION['sexe'].

  J'ai essayé pas mal de choses sans aucun résultats ou presque...

 Si vous pouvez sur la chose je vous remercie d'avance!
 Voila le script à l'état d'origine:

<?php
if (!isset($_SESSION)) {
  session_start();
}
$MM_authorizedUsers = "membre,admin";
$MM_donotCheckaccess = "false";

// *** Restrict Access To Page: Grant or deny access to this page
function isAuthorized($strUsers, $strGroups, $UserName, $UserGroup) {
  // For security, start by assuming the visitor is NOT authorized.
  $isValid = False;

  // When a visitor has logged into this site, the Session variable MM_Username set equal to their username.
  // Therefore, we know that a user is NOT logged in if that Session variable is blank.
  if (!empty($UserName)) {
    // Besides being logged in, you may restrict access to only certain users based on an ID established when they login.
    // Parse the strings into arrays.
    $arrUsers = Explode(",", $strUsers);
    $arrGroups = Explode(",", $strGroups);
    if (in_array($UserName, $arrUsers)) {
      $isValid = true;
    }
    // Or, you may restrict access to only certain users based on their username.
    if (in_array($UserGroup, $arrGroups)) {
      $isValid = true;
    }
    if (($strUsers == "") && false) {
      $isValid = true;
    }
  }
  return $isValid;
}

$MM_restrictGoTo = "../login.php";
if (!((isset($_SESSION['MM_Username'])) && (isAuthorized("",$MM_authorizedUsers, $_SESSION['MM_Username'], $_SESSION['MM_UserGroup'])))) {  
  $MM_qsChar = "?";
  $MM_referrer = $_SERVER['PHP_SELF'];
  if (strpos($MM_restrictGoTo, "?")) $MM_qsChar = "&";
  if (isset($QUERY_STRING) && strlen($QUERY_STRING) > 0)
  $MM_referrer .= "?" . $QUERY_STRING;
  $MM_restrictGoTo = $MM_restrictGoTo. $MM_qsChar . "accesscheck=" . urlencode($MM_referrer);
  header("Location: ". $MM_restrictGoTo);
  exit;
}
?>

Merci à tous!

lundi 6 août 2007 à 21:39:28 | Re : Acces restreint sur une page

kishkaya

Bonjour,
Je sais pas si ca t'aide :
if (isset($_SESSION['sexe'])) {
if ($_SESSION['sexe']=="homme") { echo 'tu es un homme'; } else if ($_SESSION['sexe']=="femme") { echo 'tu es une femme'; }
} else { echo 'tu es l\'homme neutre insensible a l\'orgazmo rayon de captain orgazmo'; }

_Marikou
mardi 7 août 2007 à 00:44:24 | Re : Acces restreint sur une page

doberman_420

Membre Club
Bonsoir,

 Je te remercie de ta réponse kishkaya, 
 
 Je me suis peu étre mal exprimé,
avec ce script par exemple, si je ne me suis pas loggué, kan je tape
l'adresse
http://monsite.fr/indexFemme.php ou homme ça me redirige sur une page d'erreur " Il faut être membre pour pouvoir acceder à cette page".

 Mais la quand tu es loggué, un membre Homme peu allé sur  l'index Femme et acceder à des fonctions réservées aux Femmes.

 Il faudrait que j'ai le méme message d'erreur quand sur cette page le script reconnait une session Homme.  

 Peu étre est-ce un peu plus clair, pas trés évident à expliquer.

 Merci.

mardi 7 août 2007 à 01:21:33 | Re : Acces restreint sur une page

Evangun

Hello,

ben tu mets le sexe dans une variable en session au moment du login, et en haut de ta page Femme tu mets if ( $_SESSION[sexe] == homme) { header (location : ailleurs) }
il y a qqch que tu ne comprends pas là-dedans ?
à+
mardi 7 août 2007 à 10:13:42 | Re : Acces restreint sur une page

kishkaya

En haut de chaque page tu peux faire un truc genre
if (isset($_SESSION['sexe'])) {
if ($_SESSION['sexe']=="homme") { include('homme/mapage.php'); } else if ($_SESSION['sexe']=="femme") { include('femme/mapage.php'); }
} else { header('Location: erreur/log.php'); }
Ca devrait marché, adapte ca à l'arborescence de ton site.
_Marikou
mardi 7 août 2007 à 10:15:40 | Re : Acces restreint sur une page

kishkaya

Oublie pas de ne pas envoyer d'entete (en gros, met rien avant le header: Location..) ou rajoute une bufferisation de ta page.
cf php.net->ob_start();

_Marikou
mardi 7 août 2007 à 16:54:47 | Re : Acces restreint sur une page

doberman_420

Membre Club

Bonjour,

 Merci à Evangun et kishkaya et bien en fait j'avais déja essayé avec une condition comme Evangun la cité et la j'ai essayer avec ton code kishkaya.

 J'ai toujour un message d'erreur du au header avec "ob_start();" aussi

 Peu étre en mettant une dans la condition une redirection meta? si bien sur j'arrive à écrire la condition, lol.

 Merci beaucoup.

 

mardi 7 août 2007 à 18:07:19 | Re : Acces restreint sur une page

kishkaya

Bonjour,
Quand t'as des probleme avec l'aide qu'on te donne pense a regarder sur php.net c'est la base, c'est là ou il y a la documentation.
Ca marche pas parce que ob_start(); commence la bufferisation de ta page et a aucun moment tu arrete de bufferiser, donc en fait tu n'envoie jamais la page a l'utilisateur.
<?php
ob_start
(
);

?>

<html>
 <body>
 <p>C'est comme comparer des carottes et des pommes de terre.</p>
 </body>
</html>

<?php
header('autrepage.php');
ob_end_flush
();

?>

ceci aura pour effet de te rediriger vers la page autrepage.php quoi que tu fasse tu verras jamais :c'est comme comparer des carottes et des pommes de terre.

La redirection meta c'est au niveau client, avec header c'est au niveau serveur, donc c'est mieux. Essaye de mettre ob_start(); en haut de ton script et ob_end_flush(); tout a la fin. Comme ca tu peux faire des header(location:..) partout ou tu veux dedans =)
_Marikou
mardi 7 août 2007 à 18:08:12 | Re : Acces restreint sur une page

kishkaya

pardon c'est header('Location: autrepage.php');
autant pour moi

_Marikou


Cette discussion est classée dans : php, session, to, mm, username


Répondre à ce message

Sujets en rapport avec ce message

SESSIONS AVEC COOKIES [ par vincenteraptor ] Ugh!j ai un petit pb! voila je voudrais utiliser les sessions avec passage de l'id de session dans un cookie.Pour comprendre la chose j ai telechargé $_session [ par sana83 ] salut,<td id="HB_Focus_Element" valign="top" width="100%" background= Configuration Apache-PHP pour problème de session [ par sananas ] Bonjour,J'ai un problème de session que je n'arrive pas a résoudre!Nous avons installé un nouveau serveur ZendCore sur notre i5/OS (IBM)... bref, c'es urgent! problémé authentification avec php [ par kingprog ] Bonsoirje veux créer une page d'authentification avec php mais voila les problémes qu'ils me donnent:Warning: session_start() [function.session-start< probléme authentification avec php/mysql [ par kingprog ] Mon  probléme c'est que quand j'entre le login et le mot de passe qui existe déja dans la base la page se redirige toujours vers la page d'erreur et p (Php/sql) session administrateur [ par Gwendo69 ] Bonjour,Je démarre tout juste en php. J'ai commencé à faire un site avec une base de données.En fait, je voudrais pouvoir faire un formulaire (ça je s Varriable de session vide [ par DjChat ] Bonjour a tous, j'ai mi mon site une fois terminer sur un serveur mutualiser de OVH et toute les partie ou il y a des variables de sesson ne fonctionn code connexion [ par vrkill2 ] bonjour a tous qui peux me donner un coup de main pour  se code de connexion car sa ne marche pas mérci de bien vouloire méclairémysql_select_db($data Récupérer des variables d'une page PHP [ par Shikapowa ] Messieurs dames bonjour,En cette belle après-midi (certes pas si belle que ça ^^) j'ai un petit soucis pour récupérer des variables.Voilà mon problème Pseudo frames et panier, perte de session... [ par alphacrash ] Bonjour !Voila mon soucis, je pense assez connu, j'utilise les pseudo frames donc une page index qui contient au debut un session_start() et cette pag


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,014 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales