今天应公司数据统计人员的要求,要求对网站收集数据的表单进行一个限制,及限制同一个电话号码只能提交一次表单,对于初学PHP的我就选择了这个简单的写法,貌似对数据库不太友好,管他的,先用着,等我学习更高层次的时候再来进行修改。
以下是重新写的一个示例PHP,是限制了用户名,这个也可以为PHP页面注册提供简单的思路。
<?php
/*首先设置几个变量,设置数据库连接参数*/
$host='localhost';
$name='root';
$pass='root';
$dbName='demo6';
/*先设置页面初始参数为空值,要不然HTML文件会报错。*/
$userName=$userNameErr=' ';
$userEmail=$userEmailErr=' ';
$userAge=$userAgeErr=' ';
$userSex='';
/*如果请求数据方式为POST*/
if($_SERVER['REQUEST_METHOD']=='POST'){
$conn=mysqli_connect($host,$name,$pass,$dbName)or die('数据库连接失败'.mysqli_connect_error());//连接数据库
/*验证用户名,邮箱,年龄都不为空*/
if(!($_POST['user']=='')&&!($_POST['email']=='')&&!($_POST['age']=='')){
/*设置变量为用户输入的值*/
$userName=$_POST['user'];
$userEmail=$_POST['email'];
$userAge=$_POST['age'];
/*设置数据库查询语句,查询数据表中是否有和用户名相同的数据,查询结果数量大于0则有,否则无*/
$sql_select="SELECT username FROM user_info WHERE username='$userName'";
$result=mysqli_query($conn,$sql_select);
if(mysqli_num_rows($result)>0){
$userNameErr='用户名已存在';
}else{
/*将数据插入数据库user_info表中*/
$sql_into="INSERT INTO user_info (id,username,useremail,userage) VALUES ('','$userName','$userEmail','$userAge')";
if(mysqli_query($conn,$sql_into)){
echo '<script>alert("提交成功");location.href="message.php";</script>';
}else{
echo '数据提交失败'.mysqli_error($conn);
}
mysqli_close($conn);
}
}else{//
if($_POST['user']==''){
$userNameErr="用户名不能为空";
}
if($_POST['email']==''){
$userEmailErr='邮箱不能为空';
}
if($_POST['age']==''){
$userAgeErr='年龄不能为空';
}
}
/*if($_POST['user']==''){
$userNameErr="用户名不能为空";
}
if($_POST['email']==''){
$userEmailErr='邮箱不能为空';
}
if($_POST['age']==''){
$userAgeErr='年龄不能为空';
}*/
/*$userName=$_POST['user'];
$userEmail=$_POST['email'];
$userAge=$_POST['age'];
$sql_select="SELECT username FROM user_info WHERE username='$userName'";
$result=mysqli_query($conn,$sql_select);
if(mysqli_num_rows($result)>=1){
$userNameErr='用户名已存在';
}else{
$sql_into="INSERT INTO user_info (id,username,useremail,userage) VALUES ('','$userName','$userEmail','$userAge')";
if(mysqli_query($conn,$sql_into)){
echo '<script>alert("提交成功");location.href="message.php";</script>';
}else{
echo '数据提交失败'.mysqli_error($conn);
}*/
}
?>
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
- 34.
- 35.
- 36.
- 37.
- 38.
- 39.
- 40.
- 41.
- 42.
- 43.
- 44.
- 45.
- 46.
- 47.
- 48.
- 49.
- 50.
- 51.
- 52.
- 53.
- 54.
- 55.
- 56.
- 57.
- 58.
- 59.
- 60.
- 61.
- 62.
- 63.
- 64.
- 65.
- 66.
- 67.
- 68.
- 69.
- 70.
- 71.
- 72.
- 73.
- 74.
接下来是简单的前台页面,因为示例是把前台页面和后台文件写在一个php内的,所以action为空。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<title>php表单用户名效验示例</title>
</head>
<body>
<form action="" method="post">
<span>用户名:</span><input type="text" name="user"><?php echo $userNameErr ?> <br>
<span>邮 箱:</span><input type="email" name="email"><?php echo $userEmailErr ?> <br>
<span>年 龄:</span><input type="number" name="age"><?php echo $userAgeErr ?><br>
<input type="submit" value="提交">
</form>
</body>
</html>
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
所需要的数据库自己补充。
作者:Alone°李道长ご