Добро пожаловать, Гость!
Вывод ника - Страница 1
Общие вопросы | Вывод ника
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']);
?>
Мб кто подскажет как это сделать)
Комментарии:
^Учитель^ 31 Окт 2018
MRX, Замени запрос к классе user файла class.user.php
На этот...
$ank = mysql_fetch_assoc(mysql_query("
SELECT IF ( concat(ank_name, ank_surname) <> '',
concat(ank_name, ' ', ank_surname), nick) AS nick,
date_last, rating, browser
FROM user WHERE id = $user "));
Выводиться имя и фамилия будут если оба поля заполнены
Если хочешь что бы выводилось независимо от заполненности обоих полей
Можешь задать приоритетность.
Например. Замени это
SELECT IF ( concat(ank_name, ank_surname) <> '',
На это - по имени
SELECT IF ( ank_name <> '',
Либо - по фамилии
SELECT IF ( ank_surname <> '',
Если трудности - готовый файл sys/inc/classes/class.user.php
Добавлено:
kantry, Я как бы тоже не машина
Вывод имени и фамилии (31.93Kb)
MRX, Замени запрос к классе user файла class.user.php
На этот...
$ank = mysql_fetch_assoc(mysql_query("
SELECT IF ( concat(ank_name, ank_surname) <> '',
concat(ank_name, ' ', ank_surname), nick) AS nick,
date_last, rating, browser
FROM user WHERE id = $user "));
Выводиться имя и фамилия будут если оба поля заполнены
Если хочешь что бы выводилось независимо от заполненности обоих полей
Можешь задать приоритетность.
Например. Замени это
SELECT IF ( concat(ank_name, ank_surname) <> '',
На это - по имени
SELECT IF ( ank_name <> '',
Либо - по фамилии
SELECT IF ( ank_surname <> '',
Если трудности - готовый файл sys/inc/classes/class.user.php
Добавлено:
kantry, Я как бы тоже не машина
MRX 31 Окт 2018
Автор темы
^Учитель^, Спс, еще вопрос, как в вывод имени еще рядом добавить фамилию, в анкете еще есть фамилия, хотелось бы что бы она выводилась рядом с именем, таблица называется ank_surname
Автор темы
^Учитель^, Спс, еще вопрос, как в вывод имени еще рядом добавить фамилию, в анкете еще есть фамилия, хотелось бы что бы она выводилась рядом с именем, таблица называется ank_surname
kantry 31 Окт 2018
MRX, я тебе закомментировал код который короткое имя не пропускает.
if (!empty($user['ank_name']) && strlen($user['ank_name']) > 2) { // или 3 или сколько там разрешишь.
Добавлено:
^Учитель^, несколько раз про пробелы написал, похоже это не я устал
MRX, я тебе закомментировал код который короткое имя не пропускает.
if (!empty($user['ank_name']) && strlen($user['ank_name']) > 2) { // или 3 или сколько там разрешишь.
Добавлено:
^Учитель^, несколько раз про пробелы написал, похоже это не я устал
^Учитель^ 31 Окт 2018
Сибирский, Совершенно точно. Чему мой ник живой пример.
Благодарю Ну тогда вот так, с дефисом, на случай двойных имён.
Извиняюсь за задержку.
Курица SimptomFD опять забанила но в форуме.
Ответить не чем, с ума сходит.
<?
//----------имя------------//
if (isset($_GET['set']) && $_GET['set']=='name'){
if (isset($_POST['ank_name']) && preg_match("#^([a-zа-яё-]{3,20})$#ui", $_POST['ank_name']))
{
$user['ank_name']=$_POST['ank_name'];
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']);
$err[]='Неверный формат имени';
} }
?>
Добавлено:
Защита регулярку порезала.
Вот...
на форум (494B)
Сибирский, Совершенно точно. Чему мой ник живой пример.
Благодарю Ну тогда вот так, с дефисом, на случай двойных имён.
Извиняюсь за задержку.
Курица SimptomFD опять забанила но в форуме.
Ответить не чем, с ума сходит.
<?
//----------имя------------//
if (isset($_GET['set']) && $_GET['set']=='name'){
if (isset($_POST['ank_name']) && preg_match("#^([a-zа-яё-]{3,20})$#ui", $_POST['ank_name']))
{
$user['ank_name']=$_POST['ank_name'];
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']);
$err[]='Неверный формат имени';
} }
?>
Добавлено:
Защита регулярку порезала.
Вот...
Сибирский 31 Окт 2018
Учитель^, хочу поправить частую ошибку, указывая в регулярке диапазон A-z мы пропускаем символы
ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz
Думаю что это не тот набор, который нам нужен
Учитель^, хочу поправить частую ошибку, указывая в регулярке диапазон A-z мы пропускаем символы
ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz
Думаю что это не тот набор, который нам нужен