Всем привет. Решил немного изменить регистрацию, добавить при регистрации Ник на сервере и SteamID. Но регистрация не работает. В чем может быть проблема?
В top.tpl оформил это подобным образом:
В actions.php
в ajax-user.js
Сайт: https://typicalgame.ru/
В top.tpl оформил это подобным образом:
PHP:
<div id="registration" class="modal fade">
<div class="modal-dialog modal-sm">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
<h4 class="modal-title">Регистрация</h4>
</div>
<div class="modal-body">
<form id="user_registration" class="registration">
<input type="text" maxlength="30" class="form-control" id="reg_login" placeholder="Логин">
<input type="password" maxlength="15" class="form-control" id="reg_password" placeholder="Пароль">
<input type="password" maxlength="15" class="form-control" id="reg_password2" placeholder="Повторите пароль">
<input type="nick" maxlength="15" class="form-control" id="nick" placeholder="Ваш ник на сервере">
<input type="steam_id" maxlength="15" class="form-control" id="steam_id" placeholder="Steam ID">
<input type="email" maxlength="255" class="form-control" id="reg_email" placeholder="E-mail {if($conf->conf_us == 1)}(Указывайте настоящий e-mail!){/if}">
{if($conf->privacy_policy == 1)}
<a class="privacy-policy" href="../processing-of-personal-data" target="_blank">Регистрируясь на данном сайте, Вы выражаете согласие на обработку персональных данных</a>
{/if}
{if($conf->captcha != '2')}
<div style="transform:scale(0.75);-webkit-transform:scale(0.75);transform-origin:0 0;-webkit-transform-origin:0 0;" data-theme="light" class="g-recaptcha clearfix" data-sitekey="{{$conf->captcha}}"></div>
<script src='https://www.google.com/recaptcha/api.js?hl=ru'></script>
{/if}
<div id="result2"></div>
<button type="submit" class="btn btn-primary btn-block mt-2">Зарегистрироваться</button>
{if($auth_api->vk_api == 1)}
<a class="btn btn-outline-primary" onclick="$('#registration').modal('hide'); show_reg_modal('vk');" title="Зарегистрироваться через Вконтакте"><i class="m-icon icon-vk"></i></a>
{/if}
{if($auth_api->steam_api == 1)}
<a class="btn btn-outline-primary" onclick="$('#registration').modal('hide'); show_reg_modal('steam');" title="Зарегистрироваться через Steam"><i class="m-icon icon-steam"></i></a>
{/if}
{if($auth_api->fb_api == 1)}
<a class="btn btn-outline-primary" onclick="$('#registration').modal('hide'); show_reg_modal('fb');" title="Зарегистрироваться через Facebook"><i class="m-icon icon-fb"></i></a>
{/if}
</form>
<script> send_form('#user_registration', 'registration();'); </script>
</div>
</div>
</div>
</div>
PHP:
/* Регистрация нового пользователя
=========================================*/
if(isset($_POST['registration'])) {
if(!configs()->standard_registration) {
exit('<p class="text-danger">Данный способ регистрации отключен!</p>');
}
if(!validateCaptcha($_POST["captcha"])) {
exit('<p class="text-danger">Неверно введена капча!</p>');
}
$login = check($_POST['login'], null);
$password = check($_POST['password'], null);
$password2 = check($_POST['password2'], null);
$nick = check($_POST['nick'], null);
$steam_id = check($_POST['steam_id'], null);
$email = check($_POST['email'], null);
if(empty($login) or empty($password) or empty($password2) or empty($nick) or empty($steam_id) or empty($email)) {
exit('<p class="text-danger">Вы ввели не всю информацию. Заполните все поля!</p>');
}
$U = new Users($pdo);
if(!$U->check_to_flood($conf->captcha)) {
exit('<p class="text-danger">Вы слишком часто регистрируете аккаунты!</p>');
}
if(!$U->check_login_length($login)) {
exit('<p class="text-danger">Логин должен состоять не менее чем из 3 символов и не более чем из 30.</p>');
}
if(!$U->check_login_composition($login)) {
exit('<p class="text-danger">В логине разрешается использовать только буквы и цифры.</p>');
}
if(!$U->check_login_busyness($login)) {
exit('<p class="text-danger">Введенный Вами логин уже зарегистрирован!</p>');
}
if(!$U->check_password_length($password)) {
exit('<p class="text-danger">Пароль должен состоять не менее чем из 6 символов и не более чем из 15.</p>');
}
if($password != $password2) {
exit('<p class="text-danger">Введенные пароли не совпадают</p>');
}
$password = $U->convert_password($password, $conf->salt);
if(!$U->check_email($email)) {
exit('<p class="text-danger">Неверно введен E-mail!</p>');
}
if(!$U->check_email_busyness($email)) {
exit('<p class="text-danger">Введенный Вами E-mail уже зарегистрирован!</p>');
}
$user = $U->entry_user($login, $password, $nick, $steam_id, $email, $conf->conf_us);
if(!empty($user->id)) {
$answer = $U->after_registration_actions($SC, $conf->salt, $conf->name, $user->id, $full_site_host);
if($answer['message'] != 'error') {
echo '<p class="text-success">'.$answer['message'].'</p>';
sendmail($email, $answer['letter']['subject'], $answer['letter']['message'], $pdo);
}
exit();
} else {
exit('<p class="text-danger">Ошибка! Вы не зарегистрированы</p>');
}
}
Код:
var token=$('#token').val();var login=$('#reg_login').val();var password=$('#reg_password').val();var password2=$('#reg_password2').val();var nick=$('#reg_nick').val();var steam_id=$('#reg_steam_id').val();var email=$('#reg_email').val();login=encodeURIComponent(login);password=encodeURIComponent(password);password2=encodeURIComponent(password2);nick=encodeURIComponent(nick);steam_id=encodeURIComponent(steam_id);email=encodeURIComponent(email);$.ajax({type:"POST",url:"../ajax/actions.php",data:"phpaction=1&token="+token+"®istration=1&login="+login+"&password="+password+"&password2="+password2+"&nick="+nick+"&steam_id="+steam_id+"&email="+email+"&captcha="+captcha,success:function(html){if(typeof grecaptcha!="undefined"){grecaptcha.reset();}