зарегистрируйтесь с автоматически сгенерированным паролем и пользователем hash_key для подтверждения по электронной почте

Привет, друзья, я пытаюсь создать форму регистрации, которая сгенерирует автоматический пароль для пользователей и хэш-ключ, который понадобится для проверки электронной почты, прежде чем можно будет войти в свою учетную запись, но у меня возникла проблема, значения не могут быть введены в база данных. пожалуйста помоги. вот мой код

    if(isset($_GET['usertype'])){
$user=$_GET['usertype'];
if($user==1){
$acc="Starter Account";
}
else if($user==2){
$acc="Basic Account";
}
else{
$acc="Premium Account";
}
$hash_key=md5(rand(0,1000));
$pass=md5(rand(1000,5000));
if(isset($_POST['add'])){

$first_name=mysqli_real_escape_string($con, $_POST['first_name']);
$surname=mysqli_real_escape_string($con, $_POST['surname']);
$username=mysqli_real_escape_string($con, $_POST['username']);
$email=mysqli_real_escape_string($con, $_POST['email']);
$timestamp=strtotime("+21 Days");
$o_date=date('Y-m-d H:i:s', $timestamp);
$j_date=date('Y-m-d H:i:s');if (( !preg_match ("/^[a-zA-Z\s]+$/",$first_name))||(strlen($first_name) < 3)) {
$first_name_error= "<p class='text-danger'>Your first name should contain letters only and must not be less than 3 characters</p>";
}
if (( !preg_match ("/^[a-zA-Z\s]+$/",$surname))||(strlen($surname) < 3)) {
$surname_error= "<p class='text-danger'>Your surname should contain letters only and must not be less than 3 characters</p>";
}
if (( !preg_match ("/^[a-zA-Z\s]+$/",$username))||(strlen($username) < 3)) {
$username_error= "<p class='text-danger'>Your username should contain letters only and must not be less than 3 characters</p>";
}
if(!filter_var($email,FILTER_VALIDATE_EMAIL)){
$email_error= "<p class='text-danger'>Please use a valid email</p>";
}
if(mysqli_num_rows(mysqli_query($con,"SELECT * FROM users WHERE username='$username'"))>0){
$username_rep_error="That username is already taken";
}
if(mysqli_num_rows(mysqli_query($con,"SELECT * FROM users WHERE email='$email'"))>0){
$email_rep_error="That email is already taken";
}if((empty($first_name_error))&&(empty($surname_error))&&(empty($username_error))&&(empty($username_rep_error))&&(empty($email_rep_error))&&(empty($email_error))){
if(mysqli_query($con,"INSERT INTO users (first_name,surname,username,email,password,account,join_date,offer_expirely,hash_key) VALUES('$first_name','$surname','$username','$email','$pass','$acc','$j_date','$o_date','$hash_key')")){
$to      = $email; // Send email to our user

$ subject = ‘Регистрация | Проверка «; // Дайте электронное письмо тему
$ message = ‘

Спасибо за регистрацию!
Ваша учетная запись была создана, вы можете войти в систему со следующими учетными данными после активации своей учетной записи, нажав URL-адрес ниже.


Имя пользователя: ‘. $ Username.’

Пароль: ‘. $ Пароль.’

Пожалуйста, нажмите на эту ссылку, чтобы активировать свой аккаунт:
http://www.mysite.co.ke/verify.php?email=‘. $ По электронной почте.&хэш = ‘. $ хэш.

«; // Наше сообщение выше, включая ссылку

$ headers = ‘From: noreply@mysite.co.ke’. «\ Г \ п»; // Набор из заголовков
mail ($ to, $ subject, $ message, $ headers); // Отправить нашу электронную почту
$ valid_msg = «Ваш аккаунт был создан,
пожалуйста, подтвердите это, нажав на ссылку активации, которая была отправлена ​​на ваш электронный адрес.

«;
}
еще {
$ msg = «Произошла ошибка при регистрации. Пожалуйста, попробуйте еще раз.

«;
}
}

}
}

-1

Решение

удалить одинарные кавычки

попробуй это

if(mysqli_query($con,"INSERT INTO users (first_name,surname,username,email,password,account,join_date,offer_expirely,hash_key) VALUES($first_name,$surname,$username,$email,$pass,$acc,$j_date,$o_date,$hash_key)")){
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector