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";
     }