Share code xác nhận Email khi đăng ký thành công

Xem: 2573    Tải: 83   Thảo luận: 0   Mục: Php&mySql   Lĩnh vực: Khác

9 điểm   ( 5 đánh giá ) File đã được kiểm thử

1 MEGA [megacode]share-code-xac-nhan-email-khi-dang.zip (40.06 KB)
Phí tải ~ 2,000 đ

Bạn cần phải Đăng nhập để tải file [megacode]share-code-xac-nhan-email-khi-dang.zip
Nếu bạn chưa có tài khoản thì Đăng ký miễn phí tại đây

Báo lỗi download   Báo vi phạm bản quyền

Nhiều khi tự hỏi, không biết cơ chế xác nhận email khi chúng ta đăng ký một tài khoản trên một website như thế nào? Sau một hồi tìm hiểu, thì đã có bài viết lôi về cho anh em cùng học tập đây. nội dung chủ yếu giúp chúng ta giải quyết vấn đề, làm thế nào để gửi một email có nội dung kích hoạt tài khoản cho user mới đăng ký

Tổng đài hỗ trợ KT: (+844) 6. 32.979.36 - Hotline: 0969.091.265
Hỗ trợ KT từ: 8h-17h30 các ngày trong tuần trừ chiều T7, CN và các ngày lễ;
Hỗ trợ kỹ thuật (KT) và cam kết chất lượng:
1. Code đảm bảo chất lượng giống demo 100%
2. Hỗ trợ cài đặt code cho khách hàng
3. Hỗ trợ hướng dẫn sử dụng cho khách hàng
Mega download: 1 MEGA = 2.000đ

Nhiều khi tự hỏi, không biết cơ chế xác nhận email khi chúng ta đăng ký một tài khoản trên một website như thế nào? Sau một hồi tìm hiểu, thì đã có bài viết lôi về cho anh em cùng học tập đây. nội dung chủ yếu giúp chúng ta giải quyết vấn đề, làm thế nào để gửi một email có nội dung kích hoạt tài khoản cho user mới đăng ký

Database

Tạo bảng user với các trường sau đây

CREATE TABLE IF NOT EXISTS `users` (
`uid` int(11) NOT NULL AUTO_INCREMENT,
`email` varchar(300) NOT NULL UNIQUE,
`password` varchar(300) NOT NULL,
`activation` varchar(300) NOT NULL UNIQUE,
`status` enum('0','1') NOT NULL DEFAULT '0',
PRIMARY KEY (`uid`)
)

Bảng CSDL có các trường như

  • uid - ID của user
  • email - email của user
  • password - Password của user
  • activation - Mã kích hoạt của user
  • status - Trạng thái, đã kích hoạt hoặc chưa

HTML code

Đoạn code này để design một form đăng ký

<form action="" method="post">
<label>Email</label>
<input type="text" name="email" class="input" autocomplete="off"/>
<label>Password </label>
<input type="password" name="password" class="input" autocomplete="off"/><br/>
<input type="submit" class="button" value="Registration" />
<span class='msg'><?php echo $msg; ?></span>
</form>

DB.php

File này dùng để tạo kết nối tới cơ sở dữ liệu

 <?php
define('DB_SERVER', 'localhost');
define('DB_USERNAME', 'username');
define('DB_PASSWORD', 'password');
define('DB_DATABASE', 'database');
$connection = @mysqli_connect(DB_SERVER,DB_USERNAME,DB_PASSWORD,DB_DATABASE);
$base_url='http://www.youwebsite.com/email_activation/';
?>

index.php

File này thực hiện kiểm tra xác nhận các trường đã được điền đầy đủ thông tin chưa, kiểm tra định dạng email thông qua regex.. Mã hóa password, mã hóa code activation…..

<?php
include 'db.php';
$msg='';
if(!empty($_POST['email']) && isset($_POST['email']) &&  !empty($_POST['password']) &&  isset($_POST['password']) )
{
// username and password sent from form
$email=mysql_real_escape_string($_POST['email']);
$password=mysql_real_escape_string($_POST['password']);
// kiểm tra định dạng email nhập đúng chưa
$regex = '/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$/';
 
if(preg_match($regex, $email))
{
$password=md5($password); // mã hóa password
$activation=md5($email.time()); // mã hóa email và thời gian
$count=mysqli_query($connection,"SELECT uid FROM users WHERE email='$email'");
// Kiểm tra email đã có trong cơ sở dữ liệu chưa
if(mysqli_num_rows($count) < 1)
{
mysqli_query($connection,"INSERT INTO users(email,password,activation) VALUES('$email','$password','$activation')");
// sending email
include 'smtp/Send_Mail.php';
$to=$email;
$subject="Email verification";
$body='Hi, <br/> <br/> We need to make sure you are human. Please verify your email and get started using your Website account. <br/> <br/> <a href="'.$base_url.'activation/'.$activation.'">'.$base_url.'activation/'.$activation.'</a>';
//Gửi mail
Send_Mail($to,$subject,$body);
$msg= "Registration successful, please activate email.";
}
else
{
$msg= 'The email is already taken, please try new.';
}
 
}
else
{
$msg = 'The email you have entered is invalid, please try again.';
}
 
}
// HTML Part
?>

Sendmail.php

File dùng để gửi mail. File này đã được các blogger trên internet chia sẻ rất nhiều, mình leek về đây cho tiện thôi.

<?php
function Send_Mail($to,$subject,$body)
{
require 'class.phpmailer.php';
$from       = "from@yourwebsite.com";
$mail       = new PHPMailer();
$mail->IsSMTP(true);            // use SMTP
$mail->IsHTML(true);
$mail->SMTPAuth   = true;                  // enable SMTP authentication
$mail->Host       = "tls://smtp.yourwebsite.com"; // SMTP host
$mail->Port       =  465;                    // set the SMTP port
$mail->Username   = "SMTP_Username";  // SMTP  username
$mail->Password   = "SMTP_Password";  // SMTP password
$mail->SetFrom($from, 'From Name');
$mail->AddReplyTo($from,'From Name');
$mail->Subject    = $subject;
$mail->MsgHTML($body);
$address = $to;
$mail->AddAddress($address, $to);
$mail->Send();
}
?>

Activation.php

File quan trọng nhất, kiểm tra mã kích hoạt từ email của user

<?php
include 'db.php';
$msg='';
if(!empty($_GET['code']) && isset($_GET['code']))
{
$code=mysql_real_escape_string($_GET['code']);
$c=mysqli_query($connection,"SELECT uid FROM users WHERE activation='$code'");
 
if(mysqli_num_rows($c) > 0)
{
$count=mysqli_query($connection,"SELECT uid FROM users WHERE activation='$code' and status='0'");
 
if(mysqli_num_rows($count) == 1)
{
mysqli_query($connection,"UPDATE users SET status='1' WHERE activation='$code'");
$msg="Your account is activated";
}
else
{
$msg ="Your account is already active, no need to activate again";
}
 
}
else
{
$msg ="Wrong activation code.";
}
 
}
?>
//HTML Part
<?php echo $msg; ?>
hi đó, user đăng ký sẽ nhận được email như sau

Để cho bảo mật hơn, chúng ta dùng .htaccess để rewrite lại url của link kích hoạt chút
từ
http://website.com/activation.php?code=ACTIVATION_CODE
thành
http://website.com/activation/ACTIVATION_CODE
RewriteEngine On
 
RewriteRule ^activation/([a-zA-Z0-9_-]+)$ activation.php?code=$1
RewriteRule ^activation/([a-zA-Z0-9_-]+)/$ activation.php?code=$1

CSS

Cuối cùng là file css

body
{
font-family: "Helvetica",Arial,sans-serif;
font-weight: 500;
color:#333;
}
label
{
width:100px;
display:block;
font-weight:bold;
color:#666666;
}
#main
{
margin:0 auto;
width:800px;
}
.input
{
padding:10px;
font-size:14px;
border:1px solid #999999;
width:200px;
margin-bottom:10px;
}
.button {
padding:10px;
background-color: #5fcf80 !important;
border-color: #3ac162 !important;
}
.msg
{
font-size:11px;
color:#666;
padding:10px;
}

Share code xác nhận Email khi đăng ký thành công

Share code xác nhận Email khi đăng ký thành công Đăng ngày 09-09-2014  Nhiều khi tự hỏi, không biết cơ chế xác nhận email khi chúng ta đăng ký một tài khoản trên một website như thế nào? Sau một hồi tìm hiểu, thì đã có bài viết lôi về cho anh em cùng học tập đây. nội dung chủ yếu giúp chúng ta giải quyết vấn đề, làm thế nào để gửi một email có nội dung kích hoạt tài khoản cho user mới đăng ký 1.8/10 2573

Thảo luận:

Để bình luận bạn phải đăng nhập thành viên.

File tương tự

Files cùng mục

 

File tải nhiều nhất

Megacode.vn - Thư viện mã nguồn chia sẻ, tải file cho cộng đồng
Copyright © 2013-2016. All rights reserved. Bản quyền thuộc VinaGon
Địa chỉ: Số 38 Hàng Bè, Hàng Bạc, Hoàn Kiếm, Hà Nội.
Văn phòng giao dịch: Phòng 28, Tầng 6, HH1A Linh Đàm, Hoàng Mai, Hà Nội
Email: info@vinagon.com | Website: www.vinagon.com | Điện thoại: (+844) 6. 32.979.36;
logo megacode

Megacode đã đăng ký với Bộ Công Thương
Thư viện mã nguồn mở lớn nhất Việt Nam.



Hỗ trợ khách hàng trên Megacode
Hỗ trợ kỹ thuật cho thành viên:
Tổng đài: (+844) 6. 32.979.36
Số di động (Hotline): 0969.091.265
Thời gian làm việc:
Sáng: 8h-12h; Chiều: 13h30-17h30
(Nghỉ chiều T7, CN và các ngày lễ, tết)
Chat với Megacode
https://www.facebook.com/megacodevn