2013-08-28 3 views
-1

Я хочу проверить, вошел ли пользователь в drupal или нет. Если пользователь вошел в систему, распечатайте что-нибудь. В противном случае ничего не делать. Я проверяю его следующим образом:Проверьте, вошел ли пользователь в систему или нет: Drupal

global $user; 
if($user->uid) 
{ 
    echo "Logged In'; 
} 
else 
{ 
    echo "Not logged in"; 
} 

Но, в этом случае, она всегда показывает «не вошли в систему» ​​либо пользователь вошел в систему или нет. Я также попробовал echo $ user-> uid. Но это ничего не печатает. Что может быть проблемой ???

ответ

4

Здесь нет необходимости использовать глобальную переменную. Просто используйте функцию user_is_logged_in() (доступно для Drupal 6+).

if (user_is_logged_in()) { 
    echo "Logged In"; 
} 
else { 
    echo "Not logged in"; 
} 
+0

Я пытался с этим также, но он также ничего не возвращается. Всегда это печать. Только для входа в систему. – prembaranwal

+0

@prembaranwal: Пользователь * на самом деле * вошел в систему? –

+0

Да, определенно он зарегистрирован в – prembaranwal

0

Все анонимные пользователи user_id как 0, даже если они не вошли в систему. Используйте следующий код, чтобы проверить, если пользователь вошел в систему.

global $user; 
    if($user->uid!=0){ 
    echo "Logged In"; 
    } 
    else{ 
    echo "Not logged in"; 
    } 
0

Я хочу, чтобы проверить, является ли пользователь вошел в систему или нет в drupal. Если пользователь вошел в систему, распечатайте что-нибудь. В противном случае ничего не делать. Я проверяю его следующим образом:

global $user; 
if($user->uid==0) 
{ 
    echo "Not Logged In'; 
} 
else 
{ 
    echo "Logged in"; 
} 

вашего код получает ноль в качестве возвращаемого значения, поэтому вам всегда получать авторизовались ..

Смежные вопросы