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

Автор темы: Alex
ID темы: 1541
Информация:
Тема содержит 16 сообщения, была просмотрена 3938 раз.  Имеются прикрепленные файлы.
Просмотр темы
PHP-Fusion Russia » Поддержка 7 версии » Моды
 Распечатать тему
Редактирую профиль пользователя
Alex
идея такова юзер заходит в свой профиль и видит кнопки править профиль, личные сообщения, пользователи, таковые кнопки я поставил,

но требуется чтобы эти кнопки были видны тока в своем профиле, сейчас заходя в чужой профиль вижу эти кнопки, ну не нужны они при просмотре чужих профилей.

товарищи знатоки, что делать как быть? жду вашей помощи

на скрине видны эти кнопки.

код этих кнопок в файле profile.php
Скачать исходники  Код
   echo "&nbsp;&nbsp;<a class='user-cp' href='".BASEDIR."edit_profile.php' title='".$locale['global_120']."' >".$locale['global_120']."</a>&nbsp;\n";
   $msg_count = dbcount("(message_id)", DB_MESSAGES, "message_to='".$userdata['user_id']."' AND message_read='0' AND message_folder='0'");
    if ($msg_count !=0) {
      echo "&nbsp;<a href='".BASEDIR."messages.php' style='color: #00CC00;'  class='user-cp'>".sprintf($locale['global_125'], $msg_count).($msg_count == 1 ? $locale['global_126'] : $locale['global_127'])."</a>&nbsp;\n";
        } else{
         echo"&nbsp;<a href='".BASEDIR."messages.php' title='".$locale['global_121']."' class='user-cp'>".$locale['global_121']."</a>&nbsp;\n";
          }
        echo"&nbsp;<a href='".BASEDIR."members.php' title='".$locale['global_122']."' class='user-cp'>".$locale['global_122']."</a><br /><br />\n";


Alex присоединено следующее:изображение:
1369836846.png
 
Web
Polarfox
if($_GET['lookup'] != $userdata['user_id'])

прямо из профиля.
Всегда делайте backup перед изменениями | Указывайте свою версию в подписи/профиле.
Ежели кто забанен за спам, но не считает себя ботом: можете сообщить мне об этом, все будет хорошо.

PolarLab - вход для подопытных
 
Web
Alex
PolarFox,

может быть я чего то не понял но прописал вот так:
Скачать исходники  Код
if($_GET['lookup'] != $userdata['user_id']) {
   echo "&nbsp;&nbsp;<a class='user-cp' href='".BASEDIR."edit_profile.php' title='".$locale['global_120']."' >".$locale['global_120']."</a>&nbsp;\n";
   $msg_count = dbcount("(message_id)", DB_MESSAGES, "message_to='".$userdata['user_id']."' AND message_read='0' AND message_folder='0'");
    if ($msg_count !=0) {
      echo "&nbsp;<a href='".BASEDIR."messages.php' style='color: #00CC00;'  class='user-cp'>".sprintf($locale['global_125'], $msg_count).($msg_count == 1 ? $locale['global_126'] : $locale['global_127'])."</a>&nbsp;\n";
        }else{
         echo"&nbsp;<a href='".BASEDIR."messages.php' title='".$locale['global_121']."' class='user-cp'>".$locale['global_121']."</a>&nbsp;\n";
          }
        echo"&nbsp;<a href='".BASEDIR."members.php' title='".$locale['global_122']."' class='user-cp'>".$locale['global_122']."</a><br /><br />\n";
   }    




теперь в СВОЕМ профиле их не вижу, заходя в чужие профили вижу, надо наоборот)))
 
Web
Polarfox
Оффтопик Нада в подписи чтоли указывать уровень, типа
"умею копипастить код и вставлять" или "умею немного кодить" или "я офигенный про, а вы все лузеры" - ну такой вроде уже самоудалился.


Поменяй != на ==
не равно на равно, оператор сравнения.
Всегда делайте backup перед изменениями | Указывайте свою версию в подписи/профиле.
Ежели кто забанен за спам, но не считает себя ботом: можете сообщить мне об этом, все будет хорошо.

PolarLab - вход для подопытных
x1 x1 x1 x1 x1 x1
 
Web
Alex
в quicksign panel хочу сменить ссылку "редактировать профиль" на то что бы юзер тыкнул и попадал в свой профиль, как здесь "мой профиль"

с подсказок jikaka
ссылку написал вот так:
Скачать исходники  Код
href='".BASEDIR."profile.php?lookup='".$userdata['user_id']."'




но ссылка не работает(((

jikaka (18:52:56 29/05/2013)
$userdata укажи в theme.php


этого я так и не понял (((
 
Web
jikaka
$userdata укажи в theme.php

если не понял, почему не спросил, не уточнил?
в файле theme.php есть подключение глобальных переменных
в самом начале файла в функции рендер пэйдж
вот в ней дополнительно пропиши через запятую и эту
скорее всего из-за этого и не работает
 
Web
Alex
да ее не было, прописал вот так:
Скачать исходники  Код
function render_page($license = false) {
   add_handler("theme_output");
   global $settings, $main_style, $locale, $mysql_queries_time, $userdata;




но ссылка все равно не робит
 
Web
Alex
Скачать исходники  Код
href='".BASEDIR."profile.php?lookup=".$userdata['user_id']."'




вот так прописал ссылку и заработало, гугл помог, эта проблема уже решалась здесь)))

разница в том что я поставил лишнию кавычку '
 
Web
Alex
журнал ошибок ругается на файл profile.php

Ошибка: Undefined index: user_id

конкретно вот на это
Скачать исходники  Код
if($_GET['lookup'] == $userdata['user_id']) {




полный код данного фрагмента, это то где кнопки вставил
Скачать исходники  Код
   if($_GET['lookup'] == $userdata['user_id']) {
   echo "&nbsp;&nbsp;<a class='user-cp' href='".BASEDIR."edit_profile.php' title='".$locale['global_120']."' >".$locale['global_120']."</a>&nbsp;\n";
   $msg_count = dbcount("(message_id)", DB_MESSAGES, "message_to='".$userdata['user_id']."' AND message_read='0' AND message_folder='0'");
    if ($msg_count !=0) {
      echo "&nbsp;<a href='".BASEDIR."messages.php' style='color: #00CC00;'  class='user-cp'>".sprintf($locale['global_125'], $msg_count).($msg_count == 1 ? $locale['global_126'] : $locale['global_127'])."</a>&nbsp;\n";
        }else{
         echo"&nbsp;<a href='".BASEDIR."messages.php' title='".$locale['global_121']."' class='user-cp'>".$locale['global_121']."</a>&nbsp;\n";
          }
        echo"&nbsp;<a href='".BASEDIR."members.php' title='".$locale['global_122']."' class='user-cp'>".$locale['global_122']."</a><br /><br />\n";
   }


 
Web
jikaka
проверь, есть ли у тебя $userdata в списке глобальных переменных
 
Web
Alex
jikaka,

Скачать исходники  Код
   global $settings, $main_style, $locale, $mysql_queries_time, $userdata;


 
Web
Serge Renard
Скорее всего, $userdata на момент выполнения кода не является массивом. У меня была похожая ошибка, когда я пытался вписать панель на нестандартное место в теме, я решал её путём создания и инициализации объекта авторизации. К сожалению, точнее сейчас не могу подсказать, т.к. код - дома, а я - на работе.

Upd: вот, глянул, если ещё актуально. Дописано мной было следующее:

Скачать исходники  Код
require_once CLASSES."Authenticate.class.php";
$userdata = Authenticate::validateAuthUser();




После этого в $userdata находится корректно заполненный массив.
Изменил(а) Serge Renard, 10.07.2013 16:26
В Интернете кто-то неправ!
x1
 
Web
Alex
Serge Renard, в каком файле дописано?
 
Web
Serge Renard
У меня дописано в файле одной из панелей, потому что ошибка возникала именно там. Тебе же, думаю, нужно это дописать в том куске кода, где возникает ошибка у тебя (который ты приводил выше).
В Интернете кто-то неправ!
 
Web
jikaka
Alex, что и где ты пытаешься сделать?
вкратце суть поясни
 
Web
Alex
jikaka, в журнале ошибок ошибка вылазила, ругалось на файл profile.php там где я кнопки вставил, ща в него добавил эти 2 строки вроде норм
 
Web

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

Перейти на форум:
Похожие темы
Топ 5 пользователей форума
Alex Alex (1,166)   Zaxap Zaxap (1,078)   Vova Vova (877)   Pisatel Pisatel (678)   util util (666)