Задать вопрос
humiliationpaindespair
@humiliationpaindespair

Почему не меняет ник?

Решил написать систему смены ника на сайте, но почему то ничего не происходит

changenick.php:
<?php

include_once '../core/userarea.php';
include_once '../core/leadarea.php';
include_once '../core/header.php';
include_once '../core/dashboard.php';
include_once '../class/assets/dbconfig.php';	

?>

<script>
	function changeName(accid, value) 
	{
		var xmlhttp = new XMLHttpRequest();
		xmlhttp.onreadystatechange = function() 
		{
			if (this.readyState == 4 && this.status == 200) 
			{
		        $("#panelError2").fadeIn();
				document.getElementById("panelError2").innerHTML = this.responseText;
			}
		};
		xmlhttp.open("GET", "../send/update_ucp_name_adm.php" + accid + "&name=" + name + "&value=" + value, true);
		xmlhttp.send();
	}
</script>

<body>
	<div id="wrapper">
        <div id="page-wrapper">
			<div class="row">
            	<div class="col-lg-12">
                    <h1 class="page-header">Панель смены никнеймов</h1>
                </div>
            </div>

            <div class="col-lg-4">
                    <div class="panel-body">
                    	<div class="well well-lg" style="min-height: 360px;">
                    	    <center><strong>ИЗМЕНЕНИЕ НИКНЕЙМА</strong></center><br>
                    	    <div id='panelError2' style='margin-top: 20px;' hidden></div>
                    	    <div class="form-group input-group">
							    <span class="input-group-addon"> <i class="fa fa-user fa-fw"></i></span>
							    <input id="name" class="form-control" placeholder="Никнейм игрока" name="name" type="text" value="<?php print $name; ?>" required="">
							    <br>
							    <span class="input-group-addon"> <i class="fa fa-user fa-fw"></i></span>
							    <input id="new_name" class="form-control" placeholder="На какой никнейм сменить" name="new_name" type="text" value="<?php print $name; ?>" required="">
						    </div>
						    <center><input type='button' class='btn btn-success' onclick='changeName($("#new_name").val(), $("#name").val())' value='Подтвердить'></center>
						    <div style="margin-top: 10px;"><i>Правила изменения никнейма:</i><br>
						    <br>Ваш аккаунт не должен быть онлайн на сервере.<br>
						    Никнейм может содержать от 3 до 24 символов.</div>
                    	</div>
                    </div>
                </div>
        </div>
    </div>
</body>


update_ucp_name_adm.php:
<?php
include_once '../core/userarea.php';
include_once '../class/assets/dbconfig.php';
include_once '../class/User.class.php';

if(isset($_REQUEST['value']) != true || isset($_REQUEST['name']) != true)
{
	die();
}

$changeid = $_REQUEST['account'];
$new_name = $_REQUEST['value'];
$name = $_REQUEST['name'];

$account = new User($_COOKIE['account']);
$admin = $account->getStaffLevel();

$changeaccount = new User($changeid);
$coyns = $changeaccount->getCoynPoints();
$name = $changeaccount->getUsername();

if($admin < 4 && $_COOKIE['account'] != $changeid) die();

if($name == $new_name)
{
    echo "<div class='alert alert-danger alert-dismissable'><button type='button' class='close' data-dismiss='alert' aria-hidden='true'>×</button>Новый никнейм полностью совпадает с настоящим.</div>";
    die();
}

if(strlen($new_name) < 3 or strlen($new_name) > 24)
{
	echo "<div class='alert alert-danger alert-dismissable'><button type='button' class='close' data-dismiss='alert' aria-hidden='true'>×</button>Недопустимое имя пользователя. (3 - 24 символа)"; 
	die();
}

if(preg_match('/[^A-Za-z0-9_]/', $new_name) == true)
{
	echo "<div class='alert alert-danger alert-dismissable'><button type='button' class='close' data-dismiss='alert' aria-hidden='true'>×</button>В никнейме профиля есть запрещенные символы."; 
	die();
}

$db = getDB();

$stmt = $db->prepare("SELECT username FROM accounts WHERE username=:username");
$stmt->bindParam("username", $new_name, PDO::PARAM_STR);
$stmt->execute();
$count = $stmt->rowCount();

if($count)
{
	echo "<div class='alert alert-danger alert-dismissable'><button type='button' class='close' data-dismiss='alert' aria-hidden='true'>×</button>Аккаунт с выбранным ником уже зарегистрирован.";
	die();
}

$stmt = $db->prepare("UPDATE accounts SET username=:username WHERE username=:name");
$stmt->bindParam("name", $name, PDO::PARAM_STR);
$stmt->bindParam("username", $new_name, PDO::PARAM_STR);
$stmt->bindParam("id", $changeid, PDO::PARAM_INT);
$stmt->execute();

echo "<div class='alert alert-success alert-dismissable'><button type='button' class='close' data-dismiss='alert' aria-hidden='true'>×</button>Вы успешно изменили никнейм на $new_name."; 

$changeaccount->playerLog("changename_ucp", -1, $new_name);

?>
  • Вопрос задан
  • 78 просмотров
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы