当用户点击“提交信息”按钮后,这些表单信息就会被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邮箱收到订单