[dle] Как получить ID пользователя pHp

[Удален]
5001

Здравствуйте. Делаю модуль для DLE и столкнулся с такой проблемой. Есть мой php-файл расположенный в modules. Я его подключил к userinfo.tpl и теперь мне надо получить ID пользователя, т.е. если вы заходите на Петю, у него покажет ID:3, Вася - ID:4 и т.д.. Грубо говоря просто получить и вывести ID пользователей в его профиль.

ID текущего пользователя можно получить через $member_id, это классно, но это не то.

Надеюсь поможете.

дани мапов
На сайте с 06.09.2012
Offline
204
#1

В engine/modules/profile.php есть строки


$sql_result = $db->query( "SELECT * FROM " . USERPREFIX . "_users WHERE name = '$user'" );

$tpl->load_template( 'userinfo.tpl' );

while ( $row = $db->get_row( $sql_result ) ) {

В $row и находится инфа о юзере

Написание и доработка скриптов (PHP, MySQL, JavaScript, jQuery) (/ru/forum/811046)
root
На сайте с 04.07.2006
Offline
196
#2

По имени можно заполучить id

$member = $db->query("SELECT user_id FROM dle_users WHERE name="Petya");

while ($member_row = $db->get_row($member)) {

$user_id = $member_row['user_id'];

}

---------- Добавлено 11.08.2014 в 17:01 ----------

P.S. почему-то человеку не нравится массив $member_id

[Удален]
#3

дани мапов, root, спасибо что ответили, но ваш способ предполагает, что уже известен логин пользователя, но я также не знаю как получить тотже логин, ведь все действия надо сделать в файле /modules/mod.php.

А $member_id показывает данные пользователя который авторизирован, если вы зайдёте на любую страницу вы увидите только свои данные. А мне надо увидеть чужие.

дани мапов
На сайте с 06.09.2012
Offline
204
#4

Остальное из init.php выдрал



if (isset ( $_GET['user'] )) {

$user = @strip_tags ( str_replace ( '/', '', urldecode ( $_GET['user'] ) ) );

if ( $config['charset'] == "windows-1251" AND $config['charset'] != detect_encoding($user) ) {
$user = iconv( "UTF-8", "windows-1251//IGNORE", $user );
}

$user = $db->safesql ( $user );

if( preg_match( "/[\||\'|\<|\>|\"|\!|\?|\$|\@|\/|\\\|\&\~\*\+]/", $user ) ) $user="";

} else $user = '';


if( preg_match( "/[\||\'|\<|\>|\"|\!|\?|\$|\@|\/|\\\|\&\~\*\+]/", $user ) ) $user="";

$sql_result = $db->query( "SELECT * FROM " . USERPREFIX . "_users WHERE name = '$user'" );



while ( $row = $db->get_row( $sql_result ) ) {

print_r($row);

exit;
}
[Удален]
#5

дани мапов, спасибо вам большое, то что надо.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий