Забыли пароль?
Запросите новый здесь.

Автор темы: jikaka
ID темы: 2483
Информация:
Тема содержит 9 сообщения, была просмотрена 7570 раз.
Просмотр темы
PHP-Fusion Russia » Поддержка 7 версии » Вопросы новичков
 Распечатать тему
ссылка на профиль
jikaka
хочу сделать ссылку на профиль юзера, чтобы юзер мог после авторизации мог перейти на свой профиль и посмотреть со стороны на него
если делаю так, то он перебирает всех юзеров
не могу дотумкать какую проверку в запросе поставить

Скачать исходники  Код
$result = dbquery("SELECT user_id FROM ".DB_USERS."");
    while ($data = dbarray($result)) {
        echo "<div class='adminpanel'><div class='wrapper'>";
        echo "<a href='".BASEDIR."profile.php?lookup=".$data['user_id']."'>Профиль</a>";
        echo "</div></div>";
    }



 
Web
lucky
а зачем запрос делать? если не ошибаюсь, авторизацию ведь можно проверить по iMEMBER

Скачать исходники  Код
if (iMEMBER) {
  echo "<div class='adminpanel'><div class='wrapper'>";
  echo "<a href='".BASEDIR."profile.php?lookup=".$userdata['user_id']."'>Профиль</a>";
  echo "</div></div>";
}




или вообще взять да и проверить $userdata['user_id']

Скачать исходники  Код
if (!empty($userdata['user_id'])) {
  echo "<div class='adminpanel'><div class='wrapper'>";
  echo "<a href='".BASEDIR."profile.php?lookup=".$userdata['user_id']."'>Профиль</a>";
  echo "</div></div>";
}



Изменил(а) lucky, 18.04.2015 10:56
x1 x1 x1
 
Pisatel
Можно так попробовать
Загрузить источник  GeSHi: PHP
  1. $mp = iMEMBER ? "<div class='adminpanel'><div class='wrapper'>".profile_link($userdata['user_id'], $userdata['user_name'], "1")."</div></div>" : "";
  2. echo $mp;
Добавлено за 0.037 секунд, используя GeSHi 1.0.8.10

Либо в одну строку
Загрузить источник  GeSHi: PHP
  1. echo iMEMBER ? "<div class='adminpanel'><div class='wrapper'>".profile_link($userdata['user_id'], $userdata['user_name'], "1")."</div></div>" : "";
Добавлено за 0.027 секунд, используя GeSHi 1.0.8.10

Изменил(а) Pisatel, 18.04.2015 14:46
Переполз на WP, но PF - это как первая любовь, которая не забывается...
x1
 
Web
Alex
у меня так прописано, и юзер попадает в свой профиль
Скачать исходники  Код

echo "<a class='user-cp' href='".BASEDIR."profile.php?lookup=".$userdata['user_id']."' title='".$locale['global_120a']."' >".$locale['global_120a']."</a>";


 
Web
Pisatel
Чтобы было меньше кода и существует функция profile_link. К тому же, все равно нужно проверять на iMEMBER, иначе $userdata['user_id'] будет пустая.
Переполз на WP, но PF - это как первая любовь, которая не забывается...
 
Web
jikaka
lucky, спасибо, так и сделал, дополнительно еще userdata как глобальную переменную прописал.
 
Web
Pisatel
...дополнительно еще userdata как глобальную переменную прописал.

А можно уточнить- куда? Глобальными переменные объявляются внутри пользовательской функции. Переменная, в принципе, и так глобальна в пределах своей области видимости. https://php.net/m....scope.php Мне просто интересно: для чего нужны лишние проверки, лишний код, лишние echo, если все можно поместить в одну строку?
Переполз на WP, но PF - это как первая любовь, которая не забывается...
 
Web
jikaka
Pisatel, дело в том, что у меня в файле theme.php подключается отдельный через инклюд, где идет ссылка на профиль
если в rendr_page не прописать переменную, то не работает
 
Web
Pisatel
jikaka, тогда все правильно. Но все равно утверждаю: лишний код- зло.
Переполз на WP, но PF - это как первая любовь, которая не забывается...
 
Web

Поделиться этой темой
Социальные закладки: Vkontakte Odnoklassniki Mail.ru Facebook Google Tweet This
URL:
BBcode:
HTML:

Перейти на форум: