Jump to content

Проверка на авторизацию на странице заказа


Recommended Posts

Добрый день.

 

Подскажите, пожалуйста, как поставить на странице заказа (в юзерской части имеется ввиду) проверку - авторизован покупатель на сайте (или администратор в админке) или нет и в зависимости от этого показывать на странице, например, личную информацию клиента (номер телефона, имейл и т.п.) ?

Edited by Dmitry86
Link to post
Share on other sites

 

проверка на администратора:

 

{if $smarty.session.admin == 'admin'}тут  код{/if}

 

А совместную проверку если делать? 

 

{if $smarty.session.admin == 'admin' || $user}тут код{/if}
 

так?

Link to post
Share on other sites

да, если условие ИЛИ.

Спасибо, работает! Только есть одно но: при такой проверке любой залогиненный юзер, зная ссылку на заказ другого покупателя, получит доступ к чужим персональным данным. То есть было бы неплохо выводить данные из заказа, которые закреплены за конкретным залогенным юзером. Например, если Юзер 1 откроет заказ, который есть у него в кабинете - данные покажутся. Если откроет чужой заказ - то данные не покажутся. Как это можно реализовать?

Edited by Dmitry86
Link to post
Share on other sites

Как вы поставили задачу так и было дано решение). Ответ на ваш вопрос о доступах других пользователей, оберните весь код order.TPL в условие
 

{if $user->id==$order->user_id}
Тут код страницы можно без проверки уже на авторизацию
{else}
У вас нет доступа к странице
{/if}

 

Недостаток в том что если заказ зделал не пользователь то он не сможет посмотреть свой заказ. Можно в таком случае проверять не пустой ли order->user_id.

Edited by mishanya
Link to post
Share on other sites

Как вы поставили задачу так и было дано решение). Ответ на ваш вопрос о доступах других пользователей, оберните весь код order.TPL в условие

 

{if $user->id==$order->user_id}
Тут код страницы можно без проверки уже на авторизацию
{else}
У вас нет доступа к странице
{/if}

 

Недостаток в том что если заказ зделал не пользователь то он не сможет посмотреть свой заказ. Можно в таком случае проверять не пустой ли order->user_id.

Спасибо большое!!

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...