Автозаполнение формы если пользователь авторизирован

  • 2 Ответов
  • 249 Просмотров

0 Пользователей и 1 Гость просматривают эту тему.

*

Оффлайн voron121

  • ****
  • 222
  • [+]1 / [-]0
  • Метод тыка и мата помогает в кодинге
    • Просмотр профиля
Доброго времени суток. Господа, прошу совета. На сайте есть пара форм, которые отправляют админу письмо с инфо о заказе. Необходимо что бы когда пользователь авторизирован на сайте в поля формы email phone и имя тянулись данные с БД. Решил сделать  (для теста) вот так

Код: (php) [Выделить]
$user = JFactory::getUser();
if($user->guest) {
  $user_name  = "";
  $user_email = "";
  $user_phone = "";
}else{
  $user_name  = JFactory::getUser()->name.' '.JFactory::getUser()->lastname.' '.JFactory::getUser()->middlename;
  $user_email = JFactory::getUser()->email;
  $user_phone = JFactory::getUser()->phone;
}
?>

В инпутах просто вывожу переменные. Инпуты выводятся не через манифест а на прямую. С тем решением которое я привел есть не понятная ситуация - если пользователь не авторизирован то вместо имени выводится  3 проблема. хотя по условию должно быть просто пусто. Подскажите почему так и есть ли метод сделать ту же задачу но более красиво - через контроллер что ли .

*

Оффлайн effrit

  • *****
  • 7438
  • [+]822 / [-]7
  • effrit.com
    • Просмотр профиля
    • effrit.com
да вроде должно робить, хотя я не программер ).
а если так переписать?


  $user_name  = "";
  $user_email = "";
  $user_phone = "";

$user = JFactory::getUser();

if(!$user->guest) {

  $user_name  = $user->name.' '.$user->lastname.' '.$user->middlename;
  $user_email = $user->email;
  $user_phone = $user->phone;
}


в любом случае, каждый раз вызывать JFactory::getUser() не надО )

*

Оффлайн voron121

  • ****
  • 222
  • [+]1 / [-]0
  • Метод тыка и мата помогает в кодинге
    • Просмотр профиля
спс, помогло +)