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