當用戶點擊「提交信息」按鈕後,這些表單信息就會被POST到submit.php中。使用$_POST變量可以獲取這些變量的值,與$_GET變量不同的是,它們不會顯示在URL中。這些變量的獲取代碼如下。
1 $openid = $_POST["openid"]; 2 $name = $_POST["name"]; 3 $sex = $_POST["sex"]; 4 $age = $_POST["age"]; 5 $mobile = $_POST["mobile"]; 6 $bookdate = $_POST["bookdate"]; 7 $bookexpert = $_POST["bookexpert"];
下面通過PHPMailer將訂單中的內容發送到郵件中,PHPMailer是PHP中一個功能全面的電子郵件類,其官方網站為http://phpmailer.worxware.com/。
使用PHPMailer發送訂單的代碼如下。
1 function sendMail 2 { 3 global $openid; 4 global $name; 5 global $sex; 6 global $age; 7 global $mobile; 8 global $bookdate; 9 global $bookexpert; 10 11 $Subject = "微信訂單"; 12 $receiver = "[email protected]"; 13 $content = "姓名:".$name."\n". 14 "性別:".$sex."\n". 15 "年齡:".$age."\n". 16 "手機:".$mobile."\n". 17 "預約日期:".$bookdate."\n". 18 "預約專家:".$bookexpert."\n". 19 "微信ID:".$openid; 20 21 require_once('phpmailer/class.phpmailer.php'); 22 $mail = new PHPMailer; 23 $mail->IsSMTP; 24 $mail->CharSet = "utf-8"; 25 $mail->Host = "smtp.163.com"; 26 $mail->SMTPAuth = true; 27 $mail->Username = "[email protected]"; 28 $mail->Password = "yourpassword"; 29 $mail->From = "[email protected]"; 30 $mail->FromName = "微信訂單"; 31 $mail->AddAddress($receiver, ""); 32 $mail->Subject = $Subject; 33 $mail->Body = $content; 34 if(!$mail->Send){ 35 return '提交失敗!'.$mail->ErrorInfo; 36 }else{ 37 return '提交成功'; 38 } 39 }
在上述代碼中,需要配置SMTP服務器,啟用SMTP認證,並且配置賬號、密碼、收件人郵箱、郵件標題及內容,最後可以使用send函數將郵件發送出來。
郵件發送的結果和其他訂單信息將一起在頁面中顯示出來,實現代碼如下。
1 <html> 2 <head> 3 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 4 <title>預約口腔醫生</title> 5 <meta name="viewport" content="width=device-width,height=device-height,inital- scale=1.0,maximum-scale=1.0,user-scalable=no;"> 6 <meta name="apple-mobile-web-app-capable" content="yes"> 7 <meta name="apple-mobile-web-app-status-bar-style" content="black"> 8 <meta name="format-detection" content="telephone=no"> 9 <link href="css/order.css" rel="stylesheet" type="text/css"> 10 <script type="text/javascript" src="js/jquery.min.js"></script> 11 <script type="text/javascript" src="js/main.js"></script> 12 </head> 13 14 <body > 15 <p> 16 <p> 17 <p > 18 <ul> 19 <li > 20 <img src="img/logo.png" > 21 </li> 22 </ul> 23 </p> 24 </p> 25 <p></p> 26 </p> 27 <p> 28 <ul > 29 <li > <?php echo $result;?></li> 30 </ul> 31 <ul> 32 <li><span>您提交的信息</span></li> 33 <li > 34 <table border="0" cellspacing="0" cellpadding="0"> 35 <tbody> 36 <tr> 37 <th>姓名</th> 38 <td><?php echo $name;?></td> 39 </tr> 40 </tbody> 41 </table> 42 </li> 43 <li > 44 <table border="0" cellspacing="0" cellpadding="0"> 45 <tbody> 46 <tr> 47 <th>性別</th> 48 <td><?php echo $sex;?></td> 49 </tr> 50 </tbody> 51 </table> 52 </li> 53 <li > 54 <table border="0" cellspacing="0" cellpadding="0"> 55 <tbody> 56 <tr> 57 <th>年齡</th> 58 <td><?php echo $age;?></td> 59 </tr> 60 </tbody> 61 </table> 62 </li> 63 <li > 64 <table border="0" cellspacing="0" cellpadding="0"> 65 <tbody> 66 <tr> 67 <th>手機</th> 68 <td><?php echo $mobile;?></td> 69 </tr> 70 </tbody> 71 </table> 72 </li> 73 <li > 74 <table border="0" cellspacing="0" cellpadding="0"> 75 <tbody> 76 <tr> 77 <th>預約日期</th> 78 <td><?php echo $bookdate;?></td> 79 </tr> 80 </tbody> 81 </table> 82 </li> 83 <li > 84 <table border="0" cellspacing="0" cellpadding="0"> 85 <tbody> 86 <tr> 87 <th>預約專家</th> 88 <td><?php echo $bookexpert;?></td> 89 </tr> 90 </tbody> 91 </table> 92 </li> 93 </ul> 94 </p> 95 </body> 96 </html>
一個發送成功的界面如圖24-10所示。
一般情況下,預約信息需要寫入數據庫保存,並且給用戶發送預約成功通知。讀者可以自己實現該部分功能。在本例中,使用QQ郵箱進行提醒。
如果在微信中啟用了「QQ郵箱提醒」功能,且郵箱與微信賬號已綁定,那麼可以直接在微信中收到訂單提醒,並且可在微信中打開,如圖24-11所示。
圖24-10 訂單提交成功
圖24-11 QQ郵箱收到訂單