用户信息收集主要由用户填写表单来实现。这里使用<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");
}