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 = pHi 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}' 
            pClick here to activate your account/p
            /a
            
            pThanks/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.explibraries=placeskey=AIzaSyD-q6DH3L2eG9pzQYxUZ9YzIzIuJbqJAGUver=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'
                        h2Registration/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()'h1X/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...' /
    
                                                h4Business Type/h4
                                            select name='businessType' id='businessType'
                                                option value='Self Employed'Self Employed/option
                                                option value='Business'Business/option
                                            /select
    
                                            h4Truck 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/brbr/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;
     }

Topic verification php email Wordpress

Category Web

About

Geeks Mental is a community that publishes articles and tutorials about Web, Android, Data Science, new techniques and Linux security.