首頁  >  文章  >  後端開發  >  PHP郵件發送驗證功能

PHP郵件發送驗證功能

巴扎黑
巴扎黑原創
2016-11-24 11:46:451147瀏覽

第一步:建立資料庫

把下面資料庫複製貼上在一個記事本,然後在PHPMyAdmin建立一個新的資料庫並匯入下面資料。

– 表的結構`registered_members`

CREATE TABLE `registered_members` (
`id` int(4) NOT NULL auto_increment,
`name` varcharULL(65) Nvari ) NOT NULL default ”,
`password` varchar(65) NOT NULL default ”,
`country` varchar(65) NOT NULL default ”,
PRIMARY KEY  (`id`)
) default =1 ;

– 導出表中的資料`registered_members`

– ————————————————–

– 表的結構`temp_members_db`

CREATE TABLE `temp_members_db` (

`confirm_code` varchar(65) NOT NULL default ”,
`name` varchar(65) NOT NULL default ”,
`email` var password` varchar(15) NOT NULL default ”,
`country` varchar(65) NOT NULL default ”
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

– 導出表中的資料第二步:建立資料庫連線


請把下面程式碼複製到你的文字編輯編譯器裡面,並命名:config.php

$host=”Hostname”; // Host name

$username =”Username”; // Mysql username

$password=”Password”; // Mysql password

$db_name=”DB name”; // Database name

//Connect to server and select database.
my_connect(“$sql_connect(“$sql_connect(“$sql_connect(“$sql_connect("$sql_connect("$ host”, “$username”, “$password”)or die(“cannot connect to server”);
mysql_select_db(“$db_name”)or die(“cannot select DB”);

?步:註冊頁面

請把下面程式碼複製到你的文字編輯器裡面,並命名:signup.php


































註冊
使用者名稱 :
郵箱 :
密碼 :
:





第四步:資料插入到資料和郵件發送

請把下面程式碼複製到你的文字編輯器裡面,並命名:signup_ac.php

include('config.php');

include('config.php');

include('config.php');
// table name

$tbl_name=temp_members_db;

// Random confirmation code

$confirm_code=md5(uniqid(rand()));

///values sent from formSTname'ents from form ;

$email=$_POST['email'];
$country=$_POST['country'];

// Insert data into database

$sql=”INSERT INTO $tbl_name(confirm_code, database

$sql=”INSERT INTO $tbl_name(confirm_code, 資料name, email, password , country)VALUES('$confirm_code', '$name', '$email', '$password', '$country')”;
$result=mysql_query($sql);

// if suceesfully inserted dataully inserted into database, send confirmation link to email

if($result){

// —————- SEND MAIL FORM —————-

// send e-mail to …

$to=$email ;

// Your subject

$subject=”Your confirmation link here”;

// From
$header=”from: 您的姓名”;

// 您的訊息
$message=”您的確認連結rn”;
$message.=”點擊此連結啟動您的account rn」;
$message.=”http://www.yourweb.com/confirmation.php?passkey=$confirm_code”;

//發送電子郵件
$sentmail = mail($to,$ subject,$message ,$header);

}

//如果沒有找到
else {
echo “在我們的資料庫中找不到您的電子郵件”;
}

//如果您的電子郵件成功發送
if($sentmail){
echo “您的確認連結已發送到您的電子郵件地址。”;
}
else {
echo “無法將確認鏈接發送到您的電子郵件地址”;
}

? >

第五步:驗證

請把下面的程式碼複製到你的文字編輯器裡面,並命名:confirmation.php

include('config.php');

//從連結所獲得的金鑰
$passkey=$_GET ['passkey'];

$tbl_name1=”temp_members_db”;

//從表中擷取與此密碼相符的行資料
$sql1=”SELECT * FROM $ tbl_name1 WHERE recognize_code ='$passkey'”;
$ result1=mysql_query($sql1);

//如果查詢成功
if($result1){

/統計有多少行有這個passkeys有這個passkey=mysmmm=mym ($result1);

//如果找到這個我們數據庫中的密鑰,從表“temp_members_db”中檢索數據

if($count==1){

$rows=mysql_fetch_array($result1);

$ name=$rows['name'];
$email=$ rows['email'];
$password=$rows['password'];
$country=$rows['country'];

$tbl_name22 =”registered_members”;

//插入從“檢索的資料” temp_members_db” 插入表“registered_members”

$sql2=”INSERT INTO $tbl_name2(姓名、電子郵件、密碼、國家/地區)VALUES('$name' , '$email', '$password', '$country')”;
$result2=mysql_query($sql2);
}

//如果找不到金鑰,則顯示訊息「錯誤確認碼」

else {
echo“錯誤確認碼”;
}

//如果成功從表中移動資料“temp_members_db”到表格“registered_members”顯示訊息“您的帳戶已啟動”,並且不要忘記從表格“temp_members_db”中刪除確認碼

if($result2){

echo「您的帳戶已啟動」;

// 從具有此密碼的表「temp_members_db」中刪除該使用者的資訊

$sql3=”DELETE FROM $tbl_name1 WHERE recognize_code = '$passkey'”;
$result3=mysql_query($sql3);

}

}

?>

注意:

如果沒有郵箱的,會出現提示

Warning: mail() [function.mail]: Failed to connect to mailserver at “localhost” port 25、驗證你在php.ini 中的“SMTP”和“smtp_port”設定或使用ini_set() inE:wampwwwmailverificationsignup_acphp. on line 39

無法發送確認連結到你的電子郵件地址


不用慌,這表示你的資料已經被寫入資料庫了。

你可以用以下方法去驗證:

先複製這個網址到你的瀏覽器:http://www.你的網站.com/confirmation.php?passkey=

然後到你的資料庫裡面把confirm_code複製貼上在passkey=後面,並回車,就會出現提示的:你的帳號已啟動!

恭喜你了!你的郵件驗證系統就完成了!如果有什麼問題的,歡迎留言,以最快的速度解決你的問題。由於時間關係,英文不做翻譯了。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn