Постоянная ошибка регистрации - PullRequest
0 голосов
/ 03 октября 2019

В настоящее время я пытаюсь создать регистрационную форму для своего веб-сайта (это работало в прошлом)

, и я продолжаю получать ошибку при регистрации, никаких ошибок не появляется - у кого-нибудь есть идеи, почему?

Раньше у меня была функция recaptcha, но я не вижу в этом проблемы.

Я пытался исправить это в течение нескольких дней.

PHP:

if (isset($_POST['register'])) {
if (!empty($username = filter_input(INPUT_POST, 'username', FILTER_SANITIZE_STRING)) AND !empty($email = filter_input(INPUT_POST, 'email', FILTER_SANITIZE_EMAIL)) AND !empty($password = filter_input(INPUT_POST, 'password', FILTER_SANITIZE_STRING)) AND !empty($password2 = filter_input(INPUT_POST, 'password2', FILTER_SANITIZE_STRING))) {
$password = EncryptPasswords($password);
$password2 = EncryptPasswords($password2);

$qry = $con->prepare("SELECT * FROM `users` WHERE `username`=:username");
$qry->execute(["username"=>$username]);

if ($qry->rowCount() == 0) {

$qry = $con->prepare("SELECT * FROM `users` WHERE `email`=:email");
$qry->execute(["email"=>$email]);

if ($qry->rowCount() == 0) {

if ($password == $password2) {

$random = substr(str_shuffle(str_repeat("0123456789abcdefghijklmnopqrstuvwxyz", 86)), 0, 86);
$RANDOMqry = $con->prepare("SELECT * FROM `users` WHERE `access_token`=:id");
$RANDOMqry->execute(["id"=>$random]);

while ($RANDOMqry->rowCount() > 0) {
$random = substr(str_shuffle(str_repeat("0123456789abcdefghijklmnopqrstuvwxyz", 86)), 0, 86);
$RANDOMqry = $con->prepare("SELECT * FROM `users` WHERE `access_token`=:id");
$RANDOMqry->execute(["id"=>$random]);
}

$REGqry = $con->prepare("INSERT INTO `users` (`username`, `email`, `email_ver`, `password`, `access_token`, `registered`, `rank`)
VALUES
(:user, :email, :veri, :password, :access, :times, :ranks)");

$REGexct = $REGqry->execute(["user"=>$username, "email"=>$email, "veri"=>"no", "password"=>$password, "access"=>$random, "times"=>$timestamp, "ranks"=>"2"]);

if ($REGexct) {

$qry = $con->prepare("SELECT * FROM `users` WHERE `username`=:username");
$qry->execute(["username"=>$username]);
$row = $qry->fetch();

setcookie('accesstoken',$row->access_token,time()+(86400 * 14),'/');
setcookie('_uc_id',$row->id,time()+(86400 * 14),'/');
setcookie('_uc_pw',$row->password,time()+(86400 * 14),'/');

$_SESSION['cerror'] = '<div class="alert alert-success">Your account has been registered, please enter the following information correctly or leave it for a further date.</div>';
header('Location: /members/register-details');
exit();


} else {
$_SESSION['cerror'] = '<div class="alert alert-danger"><strong>Error: </strong>Registration Failed.</div>';
header('Location: '.$cwd);
exit();
}



          } else {
            $_SESSION['cerror'] = '<div class="alert alert-danger"><strong>Error: </strong>Passwords do not match.</div>';
            header('Location: '.$cwd);
            exit();
          }

      } else {
        $_SESSION['cerror'] = '<div class="alert alert-danger"><strong>Error: </strong>That email is already in use, you\'ll need to pick another.</div>';
        header('Location: '.$cwd);
        exit();
      }

    } else {
      $_SESSION['cerror'] = '<div class="alert alert-danger"><strong>Error: </strong>That username already exists, you\'ll need to pick another.</div>';
      header('Location: '.$cwd);
      exit();
    }
  } else {
    $_SESSION['cerror'] = '<div class="alert alert-danger"><strong>Error: </strong>You must fill in all of the details to log in.</div>';
    header('Location: '.$cwd);
    exit();
  }
}

HTML:

<form action method="post">
<div class="form-group">
<input name="username" type="text" class="form-control input-lg" placeholder="Choose a username" autocomplete="off" autofocus />
</div>
<div class="form-group">
<input name="email" type="email" class="form-control input-lg" placeholder="Enter your email address" autocomplete="off" />
</div>
<div class="form-group">
<input name="password" type="password" class="form-control input-lg" placeholder="Choose a password" autocomplete="off" />
</div>
<div class="form-group">
<input name="password2" type="password" class="form-control input-lg" placeholder="Confirm your password" autocomplete="off" />
</div>
<div class="form-group">
<div class="g-recaptcha" data-sitekey="6LdJYZAUAAAAALere0Qs9ns7S4nMUajPKsHWXGOr"></div>
</div>
<div class="form-group">
<button name="register" type="submit" class="button button-login pull-right"><i class="fas fa-plus-square"></i> Register</button>
</div>
</form>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...