99-2-第3週(第1與第2組) // 回信確認方法 $ccode=md5(uniqid(rand())); // 產生惟一的識別碼 ini_set("SMTP","ccs .cust.edu.tw"); // 設定郵件伺服器 ini_set("sendmail_from","ven@cc.cust.edu.tw"); // 設定寄件人 $mailto="寄給誰"; $subject="主旨"; $message.="\n\n請直接點擊下列連結來確認此註冊信\r\n\n"; // 信件本體 $message.="http://localhost/program.php?ccode=$ccode&username=$username"; $sendmail=mail($mailto,$subject,"$message"); if (!sendmail) { //寄信失敗 echo "<center><font color=red>系統無法發送確認信置您的Email信箱,請稍候再試"; echo "</center></font><p>"; die(); } 第一組同學的作業: 第一個頁面有四個欄位:電子郵件信箱(帳號)、密碼、確認密碼、姓名、地址 設計此四個欄位所需的資料表,另外設計一個暫存資料表,但多一個 識別碼欄位, 暫存尚未確認之註冊資料,當某人註冊時寄確認信至其信箱,如果該人回信確認 無誤,再將資料寫入資料表 第二組同學的作業: 第一個頁面有四個欄位:電子郵件信箱(帳號)、密碼、確認密碼、姓名、地址 當某人註冊時寄確認信至其信箱,如果該人回信確認時,顯示其電子郵件信箱 與識別碼 程式結構 $ccode=$_GET["ccode"]; $command=$_POST["command"]; if ($command==null && ccode==null) { 顯示第一個頁面 } if ($command=="註冊") { 取出資料處理並寄信 } if ($command==null && ccode<>null) { 取出識別碼與帳號處理 }
<?php include "config.php"; $PHP_SELF=$_SERVER["PHP_SELF"]; $command=$_POST["command"]; $curr_ccode=$_GET["ccode"]; if ($command==null && $curr_ccode==null) { echo("<html><body><center> 註冊後系統會寄一封確認信至您的信箱,開啟後確認成功才能啟用帳號 <form method='post' action='$PHP_SELF'> 帳號(Email) <input type='text' name='username' size='30'> <input type='submit' name='command' value='註冊'> </form></center></body></html> "); } elseif ($command=="註冊") { $username=$_POST["username"]; if ($username==null) { echo "帳號(Email)欄不能空白,請回前頁重新輸入"; die(); } $ccode=md5(uniqid(rand())); ini_set("SMTP","cc.cust.edu.tw"); ini_set("sendmail_from","ven@cc.cust.edu.tw"); $message="君您好\n\n"; $message.=" 請直接點擊下列連結來確認此註冊信\r\n\n"; $message.="http://localhost/program.php?ccode=$ccode&username=$username"; $sendmail=mail("$username","系統註冊確認信","$message"); if (!$sendmail) { echo "系統無法發送確認信至您的Email信箱,請稍候再試"; die(); } echo "系統已經發送一封確認信至您的Email信箱<p>請立即開啟Email進行註冊確認"; } elseif ($command==null && $curr_ccode<>null) { $username=$_GET["username"]; echo "註冊確認成功:帳號為 $username 確認碼為 $ccode"; } ?>
|