php表单验证⽤户名及提交留⾔
今天应公司数据统计⼈员的要求,要求对⽹站收集数据的表单进⾏⼀个限制,及限制同⼀个电话号码只能提交⼀次表单,对于初学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='年龄不能为空';
html实现用户注册登录代码}
}
/*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')";
$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);
}*/
}
>
接下来是简单的前台页⾯,因为⽰例是把前台页⾯和后台⽂件写在⼀个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>
所需要的数据库⾃⼰补充。