Hướng dẫn cách tạo form, phát sinh mật khẩu mới , cập nhật mật khẩu mới vào database và gửi mail cho user
- Tạo database và bảng users (nếu chưa có)
- Tạo database hocPHP
- Tạo table users có 11 field : id, tendangnhap, matkhau, hoten, email, ngaysinh, phai, ngaydangky, idgroup (0 – thành viên , 1 admin), active (0 chưa kích hoạt, 1 đã kích hoạt), randomkey
- Nhập vài users
- ratvui/Vu1TungPhutG1@y
- ratbuon/Bu0nTungPhutG1@y
- Tạo form
- Theo hình trên, sử dụng code hỗ trợ của bootstrap:
- Xử lý khi submit
- Hiện $_POST nằng print_r
- Lấy giá trị email trong $_POST
- Kiểm tra email có trong db không, không thì báo lỗi, ngược lại thì:
- Tạo mật khẩu ngẫu nhiên
- Cập nhật db
- Thực hiện gửi mail :
- Download https://github.com/PHPMailer/PHPMailer rồi ciải nén và chép vào folder website
- Code gửi mail
require "PHPMailer-master/src/PHPMailer.php";
require "PHPMailer-master/src/SMTP.php";
require 'PHPMailer-master/src/Exception.php';
$mail = new PHPMailer\PHPMailer\PHPMailer(true);//true:enables exceptions
try {
$mail->SMTPDebug = 0; //0,1,2: chế độ debug
$mail->isSMTP();
$mail->CharSet = "utf-8";
$mail->Host = 'smtp.gmail.com'; //SMTP servers
$mail->SMTPAuth = true; // Enable authentication
$mail->Username = 'emailCủaBạnỞGmail'; // SMTP username
$mail->Password = 'MậtKhẩuEmailCuaBan'; // SMTP password
$mail->SMTPSecure = 'ssl'; // encryption TLS/SSL
$mail->Port = 465; // port to connect to
$mail->setFrom('emailCủaBạnỞGmail', 'Tên người gửi' );
$mail->addAddress('emailNguoiNhan', 'TênNgườiNhận');
$mail->isHTML(true); // Set email format to HTML
$mail->Subject = 'Tiêu đề thư';
$noidungthu = 'Nội dung thư';
$mail->Body = $noidungthu;
$mail->smtpConnect( array(
"ssl" => array(
"verify_peer" => false,
"verify_peer_name" => false,
"allow_self_signed" => true
)
));
$mail->send();
echo 'Đã gửi mail xong';
} catch (Exception $e) {
echo 'Error: ', $mail->ErrorInfo;
}