Скрипт смены ника

1.86K
.
Eternal
# Iron_Man (30.12.2018 / 19:41)
Кинь файл который у тебя работает, проверю у себя
Вся проблема что ты передаешь name="name" а принимаешь $_POST['nick'] нужно либо то либо то сменить на второе. Ну и уже чистота кода...но и без чистоты будет работать
.
Eternal
# Iron_Man (30.12.2018 / 19:41)
Кинь файл который у тебя работает, проверю у себя
Для чистоты.
$reg_nick = isset($_POST['nick']) ? trim($_POST['nick']) : '';
Сменить на
$reg_nick = isset($_POST['nick']) ? check(trim($_POST['nick'])) : '';
---
Убрать $name = check($reg_nick);

В запросе на изменение ... Надо дописывать лат_ник так как он тоже меняется, и в нем же $name заменить на $reg_nick
.
Eternal, Один хрен не работает
.
# Str@nnik (30.12.2018 / 19:52)
Iron_Man, только уберешь в коде functions::
lat_nick меняется вместе с ником который выводится.
.
# Iron_Man (30.12.2018 / 20:01)
Eternal, Один хрен не работает
Ща на коленке попробую накидать
.
Eternal
Iron_Man,
$name = mysql_fetch_assoc(mysql_query("SELECT `balans` FROM `shop` WHERE `name`='nik'"));
echo '<div class="phdr">Смена ника на сайте</div>';
echo '<div class="status">Данная функция изменяет Ваш ник</div>';
echo '<div class="menu">Стоимость услуги: ' .$name['balans']. 'баллов сайта</div>';
if ($datauser['balans'] > $name['balans'] && $user_id) {
    if ($_POST['submit']) {
    $reg_nick = isset($_POST['name']) ? check(trim($_POST['name'])) : '';
    $lat_nick = rus_lat(mb_strtolower($reg_nick));
    // Проверка Логина
    if (empty($reg_nick))
        $error = 'Не введён ник!<br/>';
    elseif (mb_strlen($reg_nick) < 2 || mb_strlen($reg_nick) > 15)
        $error = 'Недопустимая длина ника (от 2 до 15)<br />';
    if (preg_match("/[^1-9a-z\-\@\*\(\)\?\!\~\_\=\[\]]+/", $lat_nick))
        $error = 'Недопустимые символы в нике!<br/>';
        // Проверка, занят ли ник
        $req = mysql_query("select * from `users` where `name_lat`='" . mysql_real_escape_string($lat_nick) . "';");
        if (mysql_num_rows($req) != 0) {
            $error = 'Этот ник уже зарегистрирован!<br/>';
        }
 
    if ($error) {
        echo '<div class="rmenu">' .$error. '</div>';
    } else {
    $minus = $datauser['balans'] - $name['balans'];
    mysql_query("UPDATE `users` SET `name`='".mysql_real_escape_string($reg_nick)."', `name_lat` = '".mysql_real_escape_string($lat_nick)."', `balans`='" .$minus. "' WHERE `id`='" .$user_id. "'");
    echo '<div class="menu">Ник успешно изменён!</div>';    
    }    
    } else {
    echo '<div class="list1">Если хотите воспользоваться услугой, введите в форме ниже желаемый ник:<br />
    <form method="post" target="_blank">
    <input type="text" name="name" value="' .checkout($datauser['name'], 1, 0). '" maxlength="16" /><br />
    <input type="submit" name="submit" value="Изменить" />
    </form></div>';
    }
}


Это без шапки и ног
.
Parse error: syntax error, unexpected 'if' (T_IF) in /var/www/www-root/data/www/kingfoot.ru/test.php on line 51
.
Iron_Man, Завтра на работе напишу. А вариант от странника не пашет чтоли?
.
Eternal, Нет, вроде все норм, но не работает (
.
Eternal
Iron_Man,
$name = mysql_fetch_assoc(mysql_query("SELECT `balans` FROM `shop` WHERE `name`='nik'"));
echo '<div class="phdr">Смена ника на сайте</div>';
echo '<div class="status">Данная функция изменяет Ваш ник</div>';
echo '<div class="menu">Стоимость услуги: ' .$name['balans']. 'баллов сайта</div>';
if ($datauser['balans'] > $name['balans'] && $user_id) {
    if ($_POST['submit']) {
    $reg_nick = isset($_POST['name']) ? check (trim($_POST['name'])) : '';
    $lat_nick = rus_lat(mb_strtolower($reg_nick));
    // Проверка Логина
    if (empty($reg_nick))
        $error = 'Не введён ник!<br/>';
    elseif (mb_strlen($reg_nick) < 2 || mb_strlen($reg_nick) > 15)
        $error = 'Недопустимая длина ника (от 2 до 15)<br />';
    if (preg_match("/[^1-9a-z\-\@\*\(\)\?\!\~\_\=\[\]]+/", $lat_nick))
        $error = 'Недопустимые символы в нике!<br/>';
        // Проверка, занят ли ник
        $req = mysql_query("select * from `users` where `name_lat`='" . mysql_real_escape_string($lat_nick) . "';");
        if (mysql_num_rows($req) != 0) {
            $error = 'Этот ник уже зарегистрирован!<br/>';
        }
 
    if ($error) {
        echo '<div class="rmenu">' .$error. '</div>';
    } else {
    $minus = $datauser['balans'] - $name['balans'];
    mysql_query("UPDATE `users` SET `name`='" . mysql_real_escape_string($reg_nick) . "', `balans`='" .$minus. "' WHERE `id`='" .$user_id. "'");
    echo '<div class="menu">Ник успешно изменён!</div>';    
    }    
    } else {
    echo '<div class="list1">Если хотите воспользоваться услугой, введите в форме ниже желаемый ник:<br />
    <form method="post" target="_blank">
    <input type="text" name="name" value="' .checkout($datauser['name'], 1, 0). '" maxlength="16" /><br />
    <input type="submit" name="submit" value="Изменить" />
    </form></div>';
    }
}
echo '<div class="menu"><a href="magazin.php">В магазин</a></div>';


А так? Минимум изменений
Всего: 48