password-reset-code.php
<?php
include('security.php');
//$connection = mysqli_connect("localhost","root","","billing");
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;
use PHPMailer\PHPMailer\Exception;
//Load Composer's autoloader
require 'vendor/autoload.php';
function send_password_reset($get_name,$get_email,$token)
{
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->Mailer = "smtp";
$mail->SMTPDebug = 1;
$mail->SMTPAuth = TRUE;
$mail->SMTPSecure = "tls";
$mail->Port = 587;
$mail->Host = "smtp.gmail.com";
$mail->Username = "XXXXX@gmail.com";
$mail->Password = "****";
$mail->IsHTML(true);
$mail->AddAddress($get_email);
$mail->SetFrom("XXXXX@gmail.com",$get_name);
$mail->Subject = "Password Reset Verification";
$content = " <h2> You have registered with Glorious web tech </h2>
<h5> Kindly reset your password with the below link </h5>
<br></br>
<a href='http://localhost/gloriouswebtech/billing/password-change.php?token=$token&email=$get_email'> Click Me </a>";
$mail->MsgHTML($content);
if(!$mail->Send()) {
echo "Error while sending Email.";
var_dump($mail);
} else {
echo "Email sent successfully";
}
}
if(isset($_POST['passwordreset']))
{
$email = $_POST['email'];
$token = md5(rand());
$check_email = "SELECT email FROM register where email='$email'";
$check_email_run = mysqli_query($connection,$check_email);
if(mysqli_num_rows($check_email_run) > 0)
{
$row = mysqli_fetch_array($check_email_run);
$get_name=$row['firstname'];
$get_email=$row['email'];
$update_token= "UPDATE register SET verify_token='$token' where email='$get_email' ";
$update_token_run = mysqli_query($connection,$update_token);
if($update_token_run)
{
send_password_reset("$get_name","$get_email","$token");
$_SESSION['success'] = "We emailed you the Password reset link";
header('Location: login.php');
exit(0);
}
else{
$_SESSION['success'] = "Something went wrong";
header('Location: login.php');
exit(0);
}
}
else
{
$_SESSION['success'] = "No Email Found";
header('Location: register.php');
exit(0);
}
}
?>
<form action="password-reset-code.php" method="post">
<div class="form-group">
<input name="email" type="email" placeholder="Email" data-pristine-required class="form-control">
</div>
</div>
</div>
<button type="submit" class="submit button" style="margin-top: 15px;" name="passwordreset" >Submit</button>
<div style="margin-top: 40px;">
<a href="register.php">Don't have an account ? Register</a> <br>
<a href="login.php">Remember password ? Sign in instead</a>
</div>
</div>
</form>
https://youtu.be/4C8lJ2JAAP4