PHP郵件傳送驗證功能

2021-08-31 20:34:55 字數 3775 閱讀 6943

第一步:建立資料庫

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

– 表的結構 `registered_members`

–create table `registered_members` (

`id` int(4) not null auto_increment,

`name` varchar(65) not null default 」,

`email` varchar(65) not null default 」,

`password` varchar(65) not null default 」,

`country` varchar(65) not null default 」,

primary key  (`id`)

) engine=myisam default charset=latin1 auto_increment=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` varchar(65) not null default 」,

`password` varchar(15) not null default 」,

`country` varchar(65) not null default 」

) engine=myisam default charset=latin1;

–– 匯出表中的資料 `temp_members_db`

第二步:建立資料庫連線

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

<?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.

mysql_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

<?php

include(『config.php』);

// table name

$tbl_name=temp_members_db;

// random confirmation code

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

// values sent from form

$name=$_post['name'];

$email=$_post['email'];

$country=$_post['country'];

// insert data into 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 data into database, send confirmation link to email

if($result)

// if not found

else

// if your email succesfully sent

if($sentmail)

else

?>

第五步:驗證

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

<?php

include(『config.php』);

// passkey that got from link

$passkey=$_get['passkey'];

$tbl_name1=」temp_members_db」;

// retrieve data from table where row that match this passkey

$sql1=」select * from $tbl_name1 where confirm_code =』$passkey』」;

$result1=mysql_query($sql1);

// if successfully queried

if($result1)

// if not found passkey, display message 「wrong confirmation code」

else

// if successfully moved data from table」temp_members_db」 to table 「registered_members」 displays message 「your account has been activated」 and don』t forget to delete confirmation code from table 「temp_members_db」

if($result2)

}?>

注意:如果沒有郵箱伺服器的,會出現如下面提示之類的東西:

warning: mail() [function.mail]: failed to connect to mailserver at 「localhost」 port 25, verify your 「smtp」 and 「smtp_port」 setting in php.ini or use ini_set() ine:\wamp\www\mailverification\signup_ac.phpon line39

cannot send confirmation link to your e-mail address

不用慌,這說明你的資料已經被寫進資料庫了。

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

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

然後到你的資料庫裡面把confirm_code複製貼上在passkey=後面,並回車,會出現提示的:your account has been activated!

原文出處

django郵件傳送驗證碼

在我們使用 註冊賬號時,使用郵箱傳送驗證碼是很普遍的事。那麼下面就介紹使用django專案傳送郵箱驗證碼來進行驗證註冊。現在說一下在settings.py中的配置。email backend django.core.mail.backends.smtp.emailbackend email host...

後台提供郵件傳送驗證碼服務

我的部落格需要增加登入驗證碼,想通過郵件傳送驗證碼 希望提供乙個http服務,其他服務和程式語言不必再寫乙個發郵件的方法 郵箱授權碼,不是登入密碼 user qq.com to qq.com if err nil w.write byte err.error func sendcaptcha cod...

PHP傳送郵件功能實現

第一步 我用的是163郵箱傳送郵件,做乙個嘗試,在嘗試之前,需要要開啟163郵箱的授權碼如圖所示,請記住您的授權碼,將在之後的步驟中用到 第二步 第三步咱們該寫 了 html 對應的controller的php public functionchangepwd 傳送郵件來修改密碼 this disp...