用戶信息收集主要由用戶填寫表單來實現。這裡使用<from>標籤。
<form>標籤用於為用戶輸入創建HTML表單。表單能夠包含input元素,如文本字段、復選框、單選框、提交按鈕等。下面是表單的代碼,它包含姓名、手機號碼的輸入,還隱性地提交當前用戶的OpenID。
<form method="post" action="submit.php" onsubmit="return tgSubmit"> <ul> <li><span>填寫入口</span></li> <li> <table border="0" cellspacing="0" cellpadding="0"> <tbody> <tr> <th>姓名</th> <td><input type="name" placeholder="請輸入您的姓名" name="name" > </td> </tr> </tbody> </table> <table border="0" cellspacing="0" cellpadding="0"> <tbody> <tr> <th>手機號碼</th> <td><input type="mobile" placeholder="請輸入您的 手機號碼" name="mobile" > </td> </tr> </tbody> </table> </li> </ul> <p > <input type="hidden" name="openid" > <input type="submit" > </p> </form>
用戶在填寫後提交時,先使用Java Script腳本驗證內容的合法性。這包括驗證姓名是否為空,以及手機號碼位數是否正確。其代碼如下。
<script> function showTip(tipTxt) { var p = document.createElement('p'); p.innerHTML = '<p><p>' + tipTxt + '</p></p>'; var tipNode = p.firstChild; $("#wrap").after(tipNode); setTimeout(function { $(tipNode).remove; }, 1500); } function tgSubmit{ var name=$("#name").val; if($.trim(name) == ""){ showTip('請輸入姓名') return false; } var mobile=$("#mobile").val; var patrn = /^[0-9]{11}$/; if (!patrn.exec($.trim(mobile))) { showTip('請正確輸入手機號碼') return false; } return true; } </script>
信息驗證成功之後,會通過POST方式發到一個新的頁面。在該頁面中,將用戶的OpenID、姓名及電話都寫入數據庫中,實現代碼如下。
$openid = $_POST["openid"]; $name = $_POST["name"]; $mobile = $_POST["mobile"]; if (empty($openid) || empty($name) || empty($mobile)){ // var_dump($_POST); echo '<meta http-equiv="refresh" content="0; url=index.php"/>'; }else{ include_once('mysql.class.php'); $db = new class_mysql; $mysql_state = "INSERT INTO 'wx_user' ('id', 'openid', 'name', 'mobile') VALUES (NULL, '$openid', '$name', '$mobile');"; $config = $db->execute($mysql_state); // var_dump($mysql_state); Header("Location: lottery.php?openid=$openid"); }