Проблемы, связанные с проверкой авторизован пользователь в 1-с битрикс или нет решаются следующим кодом:
<? global $USER; if ($USER->IsAuthorized()){ echo "Ты авторизован!"; }else{ echo "Ты не авторизован!"; } ?>
Функция CUser::IsAuthorized() проверяет авторизован ли посетитель сайта, если да, то возвращает true, иначе false. Может принимать аргумент — ID пользователя.
Задача 1: Если пользователь не авторизован, на главной странице вывести поля для авторизации, если авторизован, нормальный вид главной страницы.
Решение:
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();?> <? global $USER; if ($USER->IsAuthorized()){ print_r("Добро пожаловать на наш сайт!
"); print_r("ID пользователя: ".$USER->GetID()."
"); print_r("Логин пользователя: ".$USER->GetLogin()."
"); print_r("Имя и фамилия пользователя: ".$USER->GetFullName()."
"); }else{?> <?$APPLICATION->IncludeComponent( "bitrix:system.auth.form", ".default", Array( "REGISTER_URL" => "/personal/register.php", "FORGOT_PASSWORD_URL" => "/personal/profile/?forgot_password=yes", "PROFILE_URL" => "/personal/profile/", "SHOW_ERRORS" => "Y" ) ); }?>
Задача 2: Показать блок конкретному пользователю.
Решение:
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();?> <? global $USER; if ($USER->IsAuthorized(21)) { /*специальное предложение*/ }?>
Добавить комментарий