Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Как в хедере проверить залогинен пользователь или нет?

00 голосов
6
Здравствуйте умные люди, подскажите пожалуйста условие проверки, залогинен ли пользователь на сайте.
т.е. как-то так:

Код
<?
if (пользователь залогинен на сайте) {выводится компонент bitrix:main.user.link.plas}
else { статический html }
?>
спросил 03 Окт, 13 от Traxexx (900 баллов)

6 Ответы

00 голосов
ответил 16 Окт, 13 от sickmind (4,660 баллов)
00 голосов
Спасибо.

Написал вот так:

<?
global $USER;
if ($USER->IsAuthorized()) {
код вывода компонента bitrix:main.user.link.plas


}

else {echo "Вы не авторизованы!";
}

?>

на морде в этом месте появилась такая ошибка:
Parse error: syntax error, unexpected T_OBJECT_OPERATOR in /srv/www/site.ru/htdocs/index_rca.php on line 9

index_rca.php - файл включаемой области с этим кодом.

что же делать)
вернул все изменения обратно которые сделал, всеравно такая же ошибка)

хм.. как бы все обратно восстановить :)
ответил 17 Янв, 14 от Traxexx (900 баллов)
00 голосов
странно, такую ошибку вызывает код вывода компонента:

<?

APPLICATION->IncludeComponent(
"bitrix:main.user.link.plas",
"templ_new",
Array(
"ID" => "",
"NAME_TEMPLATE" => "#NOBR##LAST_NAME# #NAME##/NOBR#",
"SHOW_LOGIN" => "Y",
"USE_THUMBNAIL_LIST" => "N",
"SHOW_FIELDS" => array(0=>"LOGIN",),
"USER_PROPERTY" => array(),
"PROFILE_URL" => "/personal/",
"DATE_TIME_FORMAT" => "d.m.Y H:i:s",
"PATH_TO_SONET_USER_PROFILE" => "",
"CACHE_TYPE" => "A",
"CACHE_TIME" => "7200",
"SHOW_YEAR" => "Y"
)
);

?>

раньше ведь этот же код, такой ошибки не давал...
ответил 05 Май, 14 от Traxexx (900 баллов)
00 голосов
Хедер подключен? Дайте весь файл целиком.
ответил 31 Авг, 14 от Eddie (2,060 баллов)
00 голосов
вот полностью код файла, вроде все подключено...
Код
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();?>


<?APPLICATION->IncludeComponent(
   "bitrix:main.user.link.plas",
   "templ_new",
   Array(
      "ID" => "",
      "NAME_TEMPLATE" => "#NOBR##LAST_NAME# #NAME##/NOBR#",
      "SHOW_LOGIN" => "Y",
      "USE_THUMBNAIL_LIST" => "N",
      "SHOW_FIELDS" => array(0=>"LOGIN",),
      "USER_PROPERTY" => array(),
      "PROFILE_URL" => "/personal/",
      "DATE_TIME_FORMAT" => "d.m.Y H:i:s",
      "PATH_TO_SONET_USER_PROFILE" => "",
      "CACHE_TYPE" => "A",
      "CACHE_TIME" => "7200",
      "SHOW_YEAR" => "Y"
   )
);?>

<div class="information-block-head">Корзина</div>
 
<div align="center"><?$APPLICATION->IncludeComponent(
   "bitrix:sale.basket.basket.small",
   "templ_new",
   Array(
      "PATH_TO_BASKET" => "/personal/cart/",
      "PATH_TO_ORDER" => "/personal/order/make/"
   )
);?></div>
вот если файл именно такой, то вот такой текст ошибки:
Parse error: syntax error, unexpected T_OBJECT_OPERATOR in /srv/www/site.ru/htdocs/index_rca.php on line 4

т.е. четвертая строка это как раз там где начинается вызов компонента "<?APPLICATION->IncludeComponent("
ответил 06 Янв, 15 от Traxexx (900 баллов)
00 голосов
Это ведь страница, а не компонент? В страницах надо писать
<?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");?>
<?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");?>

а не
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();?>
ответил 24 Апр, 15 от Eddie (2,060 баллов)

Похожие вопросы

0 голосов
4 ответов
0 голосов
3 ответов
0 голосов
1 ответ
спросил 02 Окт, 22 от root (25,590 баллов)
0 голосов
0 ответов
спросил 07 Май, 14 от Asteria (1,840 баллов)