Добро пожаловать, Гость!
Вывод ника - Страница 3
Общие вопросы | Вывод ника
MRX :
Привет всем)
Вот хочу сделать такое вот крч, тип что бы во всех модулях выводило вместо ника имя которое в анкете пользователя, но если у пользователя поле с именем пустое то показывался снова ник, я в этом плохо шарю, пытался да ничего не вышло толком, имя вывел, но когда поле с именем пустое то в модулях ни ника ни имени, пустота)
Пытался сделать это в файле /sys/inc/classes/class.user.php
<?
$ank = mysql_fetch_assoc(query('SELECT `nick`, `ank_name`, `date_last`, `rating`, `browser` FROM `user` WHERE `id` = "' . $user . '" LIMIT 1 '));
$nick = null;
$online = null;
$icon_medal = null;
// Вывод ника
if ($user == 0)$ank = array('id' => '0', 'ank_name' => 'Cистема', 'pol' => '1', 'rating' => '0', 'browser' => 'wap', 'date_last' => time());
elseif (!$ank)$ank = array('id' => '0', 'nick' => '[Удален]', 'pol' => '1', 'rating' => '0', 'browser' => 'wap', 'date_last' => time());
if ($url == true)
$nick = ' <a href="/id' . $user . '">' . text($ank['ank_name']) . '</a> ';
else
$nick = text($ank['nick']);
?>
Мб кто подскажет как это сделать)
Вывод ника
29 Окт 2018Привет всем)
Вот хочу сделать такое вот крч, тип что бы во всех модулях выводило вместо ника имя которое в анкете пользователя, но если у пользователя поле с именем пустое то показывался снова ник, я в этом плохо шарю, пытался да ничего не вышло толком, имя вывел, но когда поле с именем пустое то в модулях ни ника ни имени, пустота)
Пытался сделать это в файле /sys/inc/classes/class.user.php
<?
$ank = mysql_fetch_assoc(query('SELECT `nick`, `ank_name`, `date_last`, `rating`, `browser` FROM `user` WHERE `id` = "' . $user . '" LIMIT 1 '));
$nick = null;
$online = null;
$icon_medal = null;
// Вывод ника
if ($user == 0)$ank = array('id' => '0', 'ank_name' => 'Cистема', 'pol' => '1', 'rating' => '0', 'browser' => 'wap', 'date_last' => time());
elseif (!$ank)$ank = array('id' => '0', 'nick' => '[Удален]', 'pol' => '1', 'rating' => '0', 'browser' => 'wap', 'date_last' => time());
if ($url == true)
$nick = ' <a href="/id' . $user . '">' . text($ank['ank_name']) . '</a> ';
else
$nick = text($ank['nick']);
?>
Мб кто подскажет как это сделать)
Комментарии:
Учитель 30 Окт 2018
kantry, Зачем? В таблице user, по дефолту поле ank_name имеет null
Пусть пробует тот архив что я ниже дал.
Немного изменил
$ank = mysql_fetch_assoc(mysql_query("
SELECT IF ( ank_name <> '', ank_name, nick ) AS nick,
date_last, rating, browser
FROM user WHERE id = $user "));
и всё заработало. Или ты о чём?
Добавлено:
Бан SimptomFD-У, волю народу
Юзер (42.9Kb)
kantry, Зачем? В таблице user, по дефолту поле ank_name имеет null
Пусть пробует тот архив что я ниже дал.
Немного изменил
$ank = mysql_fetch_assoc(mysql_query("
SELECT IF ( ank_name <> '', ank_name, nick ) AS nick,
date_last, rating, browser
FROM user WHERE id = $user "));
и всё заработало. Или ты о чём?
Добавлено:
Бан SimptomFD-У, волю народу
kantry 30 Окт 2018
MRX, я понял, это тебе надо залезть в /user/info/edit.php и заменить блок с обновлением ank_name
<?php
if (isset($_GET['set']) && $_GET['set'] == 'name') {
if (isset($_POST['ank_name']) && preg_match('#^([A-zА-я -]*)$#ui', $_POST['ank_name'])) {
$user['ank_name'] = trim($_POST['ank_name']);
if (!empty($user['ank_name'])) {// Можно(нужно) strlen($user['ank_name']) > 2 использовать, чтобы короткие имена не пихали
mysql_query("UPDATE `user` SET `ank_name` = '".my_esc($user['ank_name'])."' WHERE `id` = '$user[id]' LIMIT 1");
} else {
mysql_query('UPDATE `user` SET `ank_name` = NULL WHERE `id` = ' . $user['id']);
}
} else {
$err[]='Неверный формат имени';
}
}
?>
MRX, я понял, это тебе надо залезть в /user/info/edit.php и заменить блок с обновлением ank_name
<?php
if (isset($_GET['set']) && $_GET['set'] == 'name') {
if (isset($_POST['ank_name']) && preg_match('#^([A-zА-я -]*)$#ui', $_POST['ank_name'])) {
$user['ank_name'] = trim($_POST['ank_name']);
if (!empty($user['ank_name'])) {// Можно(нужно) strlen($user['ank_name']) > 2 использовать, чтобы короткие имена не пихали
mysql_query("UPDATE `user` SET `ank_name` = '".my_esc($user['ank_name'])."' WHERE `id` = '$user[id]' LIMIT 1");
} else {
mysql_query('UPDATE `user` SET `ank_name` = NULL WHERE `id` = ' . $user['id']);
}
} else {
$err[]='Неверный формат имени';
}
}
?>
Учитель 30 Окт 2018
MRX, Пробуй - работает, снимки ниже.
Важно, работает только там где ник выводиться из класса.
Например вот так echo user::nick($ank['id'], 1, 1, 1);
Бан SimptomFD-У, волю народу
Есть имя (41.38Kb)
MRX, Пробуй - работает, снимки ниже.
Важно, работает только там где ник выводиться из класса.
Например вот так echo user::nick($ank['id'], 1, 1, 1);
Бан SimptomFD-У, волю народу
MRX 29 Окт 2018
Автор темы
kantry, Ну стандартная гостевая, ты у себя пробовал в анкете имя стереть?, ник снова выводило?
Автор темы
kantry, Ну стандартная гостевая, ты у себя пробовал в анкете имя стереть?, ник снова выводило?
kantry 29 Окт 2018
MRX, а ты код с выводом ника из того модуля скинь сюда? Как бы такого не должно быть)))
MRX, а ты код с выводом ника из того модуля скинь сюда? Как бы такого не должно быть)))
MRX 29 Окт 2018
Автор темы
kantry, Работает, но когда у человека в анкете не заполнено поле имя то в модулях не выводит ничего, а хотелось бы что бы если поля не были заполнены то выводил обратно ник, но не так работает, я заменил свой файл на который вы мне кинули
Автор темы
kantry, Работает, но когда у человека в анкете не заполнено поле имя то в модулях не выводит ничего, а хотелось бы что бы если поля не были заполнены то выводил обратно ник, но не так работает, я заменил свой файл на который вы мне кинули
reestr 29 Окт 2018
kantry, Молодец. Но скажи автору что это выводиться из класса. Например echo user::nick($ank['id'], 1, 1, 1);
Ато он тыкать будет не туда и как итог, писать что не работает.
Бан SimptomFDУ - Волю народу
kantry, Молодец. Но скажи автору что это выводиться из класса. Например echo user::nick($ank['id'], 1, 1, 1);
Ато он тыкать будет не туда и как итог, писать что не работает.
Бан SimptomFDУ - Волю народу