2010-12-13 6 views
0

Je travaille sur un site Web basé sur l'utilisateur. Donc, j'ai différentes sections pour différents utilisateurs. Je veux que si le nom d'utilisateur de la session est "Rock", il ne devrait pas être en mesure d'accéder au profil de l'autre utilisateur dire "Gray".Accès au bloc basé sur SESSION

Ainsi,

if $_session['username']=="rock" 
{ 
//BLOCK ACCESS TO OTHER FILES IN FOLDER PLACED IN DIRECTORY 
} 

Comment puis-je faire cela?

Merci

+0

par l'accès que je veux dire simplement taper dans l'URL comme goal.com/user/gray. – ryan

Répondre

0

Sur la page de gris que vous pourriez avoir:

if($_SESSION['username'] != 'gray'){ 
    header('Location: http://www.goal.com/'); 
    exit; 
} 

Si vous souhaitez autoriser certaines personnes à accéder à la page de gris que vous pourriez avoir un tableau avec les personnes qui peuvent y accéder ...

$allowed = array('bob', 'james'); 

if(!in_array($_SESSION['username'], $allowed)){ 
    header('Location: http://www.goal.com/'); 
    exit; 
} 

Ou l'inverse, si vous voulez seulement refuser l'accès à certaines personnes.

$blocked = array('rock', 'pop'); 

if(in_array($_SESSION['username'], $blocked)){ 
    header('Location: http://www.goal.com/'); 
    exit; 
} 
+0

great..thanks ... l'ai eu. – ryan

0

Si vous avez plusieurs utilisateurs, vous ne pouvez pas coder en dur ce type de chose.

En supposant que votre base de données en utilisant une ...

// Comes from database 
$username = $row['username']; 

// Check session 
if ($username !== $_SESSION['username']) { 
    header("Location: /access/denied/page/"); 
    exit(); 
} 
+0

Oh ouais ... Une meilleure solution – ryan