Site icon Hip-Hop Website Design and Development

How do you ensure that a user is recognised and available for use only when it is verified through a row in the database called ‘accountVerified’?

    <?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
global $wpdb;
if($_POST){
$username = $wpdb->escape($_POST['email']);
$password = $wpdb->escape($_POST['password']);
$confPassword = $wpdb->escape($_POST['confirmPassword']);
$fullName = $wpdb->escape($_POST['fullName']);
$dateOfBirth = $wpdb->escape($_POST['dateOfBirth']);
$address = $wpdb->escape($_POST['dateOfBirth']);
$companyName = $wpdb->escape($_POST['companyName']);
$businessType = $wpdb->escape($_POST['businessType']);
$truckType = $wpdb->escape($_POST['truckType']);
$phoneNumber = $wpdb->escape($_POST['phoneNumber']);
$error = array();
if(strpos($username, ' ') !== FALSE){
$error['username_space'] = 'Username has a space';
} 
if(empty($username)){
$error['username_empty'] = 'Username is empty';
}
if(username_exists($username)){
$error['username_exists'] = 'Username already exists';
}
if(!is_email($username)){
$error['email_invalid'] = 'Email is invalid';
}
if(email_exists($username)){
$error['email_existence'] = 'Email already exists';
}
if(strcmp($password,$confPassword) !== 0){
$error['password'] = 'Passwords did not match';
} 
if(count($error) == 0){
$user_id = wp_create_user($username, $username);
//      wp_new_user_notification($user_id);
//       $subject = 'Thanks for registering';
//         $message = 'Thanks for registering. 
//             Please return to the site to log in:
//             https://www.recovermenow.co.uk/userVerification?';
//         wp_mail( $username, $subject, $message );
echo 'User created successfully';
$veriKey = rand(10000, 100000);
$wpdb->update('wp_users', 
array('user_fullName'=>$fullName,
'vkey'=>$veriKey,
'user_dateOfBirth'=>$dateOfBirth,
'user_address'=>$address,
'phoneNumber'=>$phoneNumber,
'user_companyName'=>$companyName,
'user_businessType'=>$businessType,
'user_truckType'=>$truckType,
), array('user_email' => $username));
$subject = 'Verify your email';
$message = "<p>Hi there,
A quick security protocol for your new account!
Please activate your account using the link below</p>
<a href='www.recovermenow.co.uk/verify?vkey={$veriKey}'> 
<p>Click here to activate your account</p>
</a>
<p>Thanks</p>";
$headers = array('Content-Type: text/html; charset=UTF-8');
$ema = wp_mail($username,$subject, $message, $headers);
echo $ema;
//      exit();
} else{
print_r($error);
}
}
echo "
<html>
<body>
<script src='https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js'></script>
<script type='text/javascript'
src='https://maps.googleapis.com/maps/api/js?v=3.exp&libraries=places&key=AIzaSyD-q6DH3L2eG9pzQYxUZ9YzIzIuJbqJAGU&ver=3.exp'></script>
<div class='container-fluid' id='grad1'>
<div class='row justify-content-center mt-0'>
<div class='col-11 col-sm-9 col-md-7 col-lg-6 text-center p-0 mt-3 mb-2'>
<div class='card px-0 pt-4 pb-0 mt-3 mb-3'>
<h2>Registration</h2>
<div class='row'>
<div class='col-md-12 mx-0'>
<form id='regform' method='post'>
<fieldset>
<div class='form-card'>
<h2 class='fs-title'>Me</h2>
<div id='imageUpload'>
<input type='file' id='myFileInput' name='myImage' accept='image/*' />
<div id='display_image'>
<div id='deleteImage' onclick='deleteImage()'><h1>X</h1></div></div>
</div>
<input 
id='fullName' 
placeholder='Please enter your full name' 
type='text'
class='form-control' name='fullName' />
<input type='date' class='dateOfBirth' name='dateOfBirth'
placeholder='dateOfBirth' id='dateOfBirth' />
<input type='text' class='mobileNumber' name='mobileNumber'
placeholder='Enter mobile number' id='mobileNumber' />
<input type='text' class='address' name='address' placeholder='Enter address'
id='address' />
</div> <input type='button' name='next' class='next action-button'
value='Next Step' />
</fieldset>
<fieldset>
<div class='form-card'>
<h2 class='fs-title'>Work Details</h2>
<input type='text' id='companyName' name='companyName'
placeholder='Enter Company Name...' />
<h4>Business Type</h4>
<select name='businessType' id='businessType'>
<option value='Self Employed'>Self Employed</option>
<option value='Business'>Business</option>
</select>
<h4>Truck Size(in tonnes)</h4>
<input type='text' name='truckType' name='truckType'
placeholder='10 tonnes...' />
</div>
<input type='button' name='previous' class='previous action-button-previous'
value='Previous' /> <input type='button' name='next' class='next action-button'
value='Next Step' />
</fieldset>
<fieldset>
<div class='form-card'>
<h2 class='fs-title'>Personal Information</h2>
<input type='text' name='title' placeholder='Title' />
<input type='text' class='Full Name' name='fullName' placeholder='Full Name' />
<input type='email' class='email' name='email' placeholder='Email' />
<input type='number' class='phoneNumber' name='phoneNumber'
placeholder='Phone Number' />
</div> <input type='button' name='previous' class='previous action-button-previous'
value='Previous' /> <input type='button' name='next' class='next action-button'
value='Next Step' />
</fieldset>
<fieldset>
<div class='form-card'>
<h2 class='fs-title'>Login Details</h2>
<input type='email' name='email' placeholder='username' />
//                                   <input type='password' name='password' placeholder='password' />
//                                   <input type='password' name='confirmPassword' placeholder='confirm password' />
<br></br><br></br>
<input type='submit' name='submit' value='Sign up' />
</div>
</fieldset>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>";
global $wpdb;
$vkey = $_GET['vkey'];
$results = $wpdb->get_results( 
"SELECT * FROM wp_users where vkey ='$vkey'"
);
echo $_GET['vkey'];
if($_GET['vkey'])){
if($results > 0) {
$update =  $wpdb->update('wp_users', 
array('accountVerified' => 1)
,array('vkey' => $vkey));
if($update){
echo "Your account has been verified successfully, you may now login";
} else{
echo "Not working";
}
}
else{
echo "This account is invalid or has already been registered";
}