DANMASTER Опубликовано 10 Августа 2005 Жалоба Поделиться Опубликовано 10 Августа 2005 Привет, возможно ли так, чтобы открывать профиль пользователя не так:http://sitename.ru/forum/index.php?showuser=1,а вот например так:http://sitename.ru/forum/index.php?showuser=admin Заранее благодарен. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 Super Gonzo Опубликовано 10 Августа 2005 Жалоба Поделиться Опубликовано 10 Августа 2005 Запрашиваемый файл не найден на сервере Это обеих ссылок касается Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 DANMASTER Опубликовано 10 Августа 2005 Автор Жалоба Поделиться Опубликовано 10 Августа 2005 Super Gonzo, тебе плохо? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 Super Gonzo Опубликовано 10 Августа 2005 Жалоба Поделиться Опубликовано 10 Августа 2005 Мне? Мне пох.:-) Ты же вопрос задаешь. Так позаботься, чтобы все по твоим ссылкам зайти могли. Выдает страничку Триумвират Девелопмент, на которой написано, что запрашиваемый файл отсутствует на сервере и приведены возможные причины ошибки.[1123680789:1123680870]а блин, понял:-))) Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 DANMASTER Опубликовано 10 Августа 2005 Автор Жалоба Поделиться Опубликовано 10 Августа 2005 Super Gonzo Ага. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 ImUgh Опубликовано 10 Августа 2005 Жалоба Поделиться Опубликовано 10 Августа 2005 DANMASTERты хочешь чтобы работали оба способа?если да, то как быть с юзерами, у которых ники типа "1234" ? сделать подобный поиск в принципе не очень сложно.главное правильно закрыть дыры к SQL-иньекциям.примерно так, как это сделанно в поиске. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 DANMASTER Опубликовано 10 Августа 2005 Автор Жалоба Поделиться Опубликовано 10 Августа 2005 А что через цифровой ник можно повредить форуму? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 ImUgh Опубликовано 11 Августа 2005 Жалоба Поделиться Опубликовано 11 Августа 2005 DANMASTERты бы на вопрос лучше ответил.еще раз спрошуты хочешь чтобы работали оба способа?то есть, чтобы профиль открвыался И по http://sitename.ru/forum/index.php?showuser=1 ,И по http://sitename.ru/forum/index.php?showuser=admin если да, то как быть в случае с ником вида "123" - выдавать по ИД, или по Нику? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 Song Опубликовано 11 Августа 2005 Жалоба Поделиться Опубликовано 11 Августа 2005 Добавить запрос в Profile.php Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 DANMASTER Опубликовано 11 Августа 2005 Автор Жалоба Поделиться Опубликовано 11 Августа 2005 Я всё-таки думаю стоит сделать 2 варианта, т.к. если у участника ник на русском языке, то могут быть проблемы. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 ImUgh Опубликовано 11 Августа 2005 Жалоба Поделиться Опубликовано 11 Августа 2005 DANMASTERвот как раз с русскими никами никаких проблем. решение простое - смотри как сделан стандартный показ профиля (в index.php и Profile.php) и полностью аналогично делай новый метод.надо изменить только запрос к БД + закрыть дыры от SQL-иньекций.как делать - смотри как оно закрыто в реализации поиска по нику - filter_keywords в search_mysql_*.php Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 DANMASTER Опубликовано 11 Августа 2005 Автор Жалоба Поделиться Опубликовано 11 Августа 2005 надо изменить только запрос к БД + закрыть дыры от SQL-иньекций.как делать - смотри как оно закрыто в реализации поиска по нику - filter_keywords в search_mysql_*.php Как раз-то, с php и mysql у меня проблемы... Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 Song Опубликовано 13 Августа 2005 Жалоба Поделиться Опубликовано 13 Августа 2005 >> вот как раз с русскими никами никаких проблем. зависит от настройки MySQL Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 DANMASTER Опубликовано 26 Августа 2005 Автор Жалоба Поделиться Опубликовано 26 Августа 2005 Так, что? Никто не напишет мод? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 Song Опубликовано 29 Августа 2005 Жалоба Поделиться Опубликовано 29 Августа 2005 Файл Profile.php 1. Найти switch($ibforums->input['CODE']) { case '03': $this->view_profile(); break; заменить на switch($ibforums->input['CODE']) { case '02': $this->view_profile_by_name(); break; case '03': $this->view_profile(); break; 2. Найти function view_profile() { global $ibforums, $DB, $std, $print; $info = array(); if ( $ibforums->member['g_mem_info'] != 1 ) { $std->Error( array( 'LEVEL' => 1, 'MSG' => 'no_permission' ) ); } Добавить перед: // Song * view profile by name, 29.08.05 function view_profile_by_name() { global $ibforums, $DB, $std, $print; if ( !$ibforums->input['not_id'] or !$ibforums->input['MID'] or strlen($ibforums->input['MID']) > 30 ) { $std->Error( array( 'LEVEL' => 1, 'MSG' => 'incorrect_use' ) ); } $name = $ibforums->input['MID']; $DB->query("SELECT id FROM ibf_members WHERE name='".addslashes($name)."' LIMIT 1"); if ( $DB->get_num_rows() and $user = $DB->fetch_row() ) { $print->redirect_screen( $ibforums->lang['st_redirect'], "showuser=".$user['id']); } else { $std->Error( array( 'LEVEL' => 1, 'MSG' => 'incorrect_use' ) ); } } // Song * view profile by name, 29.08.05 3. Чуть ниже найти: //-------------------------------------------- // Check input.. //-------------------------------------------- $id = intval($ibforums->input['MID']); if ( empty($id) ) $std->Error( array( 'LEVEL' => 1, 'MSG' => 'incorrect_use' ) ); Заменить на: //-------------------------------------------- // Check input.. //-------------------------------------------- // Song * view profile by name, 29.08.05 if ( $ibforums->input['not_id'] ) { $print->redirect_screen( $ibforums->lang['st_redirect'], "act=Profile&CODE=02&MID={$ibforums->input['MID']}¬_id=1"); exit(); } // Song * view profile by name, 29.08.05 $id = intval($ibforums->input['MID']); if ( empty($id) ) $std->Error( array( 'LEVEL' => 1, 'MSG' => 'incorrect_use' ) ); 4. Убедиться, что есть индекс в таблице ibf_users по полю "name".Для этого выполнить запрос SHOW INDEX FROM ibf_membersЕсли в информации, выданной по этому запросу, нет колонки "name", то добавить индекс нижеследующим запросом:ALTER TABLE ibf_members ADD INDEX (name) 5. Использование мода: http://....showuser=1 - поиск профиля по IDhttp://...showuser=Song¬_id=1 - поиск профиля по нику "Song" Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 Song Опубликовано 29 Августа 2005 Жалоба Поделиться Опубликовано 29 Августа 2005 А ещё лучше сделать так: (Внимание, это необязательно!) Условие if ( !$ibforums->input['not_id'] or !$ibforums->input['MID'] or strlen($ibforums->input['MID']) > 30 ) { $std->Error( array( 'LEVEL' => 1, 'MSG' => 'incorrect_use' ) ); } в функции view_profile_by_name заменить на: if ( !$ibforums->input['not_id'] or !$ibforums->input['MID'] or strlen($ibforums->input['MID']) > $ibforums->vars['max_nick_length'] ) { $std->Error( array( 'LEVEL' => 1, 'MSG' => 'incorrect_use' ) ); }В файле Register.phpнайти if ( strlen($len_u) < 3 ) { $this->show_reg_form('err_no_username'); return; } if ( strlen($len_u) > 30 ) { $this->show_reg_form('err_no_username'); return; } и заменить на if ( strlen($len_u) < $ibforums->vars['min_nick_length'] ) { $this->show_reg_form('err_no_username'); return; } if ( strlen($len_u) > $ibforums->vars['max_nick_length'] ) { $this->show_reg_form('err_no_username'); return; } В файле conf_global.php добавить 2 константы и вписать туда собственно значения из Register.php: $INFO['min_nick_length'] = '3'; $INFO['max_nick_length'] = '30'; И регулировать минимальную и максимальную длину ника через conf_global.php.Для желающих сделать полноценный мод you are welcome изменять эти значения из админки Также ещё можно перекрыть обращения к константам из других частей форума, где у вас идёт работа с ником (например, у меня на форуме - при смене ника). Может есть и в стандартном, я не помню сейчас где. Вспомню - допишу Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 DANMASTER Опубликовано 29 Августа 2005 Автор Жалоба Поделиться Опубликовано 29 Августа 2005 Обнаружена ошибка: Неправильное использование одного из файлов Форума[1125309077:1125309413]Так же я не понимаю для чего сделан редирект и зачем нужно ¬_id=1.Простите за нудность я просто новичок и в этом деле не ахти. Вот насколько я понял, not_id это переменная, через которую определяется, что нужно открыть через имя или через id,но а можно какнить покрасивее придумать? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 PALADIN+ Опубликовано 29 Августа 2005 Жалоба Поделиться Опубликовано 29 Августа 2005 А с русскими никами это нормально работает?Было бы неплохо, изначально сделать на форуме латинский логин для при регистрации, который будет юзаться например такhttp://sitename.ru/forum/index.php?showuser=adminи имя для отображения в форумах. Где уже можно будет пользоваться кирилицей. На forums.ag.ru так.. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 Song Опубликовано 29 Августа 2005 Жалоба Поделиться Опубликовано 29 Августа 2005 ¬_id показывает, что мы передаём в showuser= число или имя.Покрасивей можно конечно, но тогда придётся запрещать в нике цифры например.[1125312138:1125312185]>> А с русскими никами это нормально работает? Всё зависит от настройки мускула.PHP не причём. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 DANMASTER Опубликовано 29 Августа 2005 Автор Жалоба Поделиться Опубликовано 29 Августа 2005 А вот желательно бы, и к томуже неизвестно почему он не открывает через имя. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 Song Опубликовано 29 Августа 2005 Жалоба Поделиться Опубликовано 29 Августа 2005 Что желательно? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 DANMASTER Опубликовано 29 Августа 2005 Автор Жалоба Поделиться Опубликовано 29 Августа 2005 Ну чтобы было красивее, а ведь кстати как сделано у Винограда? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 Song Опубликовано 29 Августа 2005 Жалоба Поделиться Опубликовано 29 Августа 2005 >> Ну чтобы было красивеетак я ж сказал, какую жертву нужно для этого. >> а ведь кстати как сделано у Винограда?У них сделано через mod rewrite Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 DANMASTER Опубликовано 29 Августа 2005 Автор Жалоба Поделиться Опубликовано 29 Августа 2005 Это раньше было когда открывали через vingrad.ru/@Song, а щас тоже showuser=Song&id=777 или что-то такое я не помню. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 Song Опубликовано 29 Августа 2005 Жалоба Поделиться Опубликовано 29 Августа 2005 Есть проблема с русскими буквами на линухе. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 DANMASTER Опубликовано 29 Августа 2005 Автор Жалоба Поделиться Опубликовано 29 Августа 2005 Это если делать как у них? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Вопрос
DANMASTER
Привет, возможно ли так, чтобы открывать профиль пользователя не так:
http://sitename.ru/forum/index.php?showuser=1,
а вот например так:
http://sitename.ru/forum/index.php?showuser=admin
Заранее благодарен.
Ссылка на комментарий
Поделиться на других сайтах
34 ответа на этот вопрос
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.