PHP验证用户名重复注册【新手】

本小结利用最简单的方式通过PHP验证表单递交内容(用户名)是否存在于数据表中。如果存在了,则显示已经被注册,如果不存在则可以正常注册。

详细代码如下:

步骤省略数据库、数据表的建立。

前端递交页面代码如下:

register.html

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <title>用户名重复验证</title>
  </head>
  <body>
    <form action="register.php" method="post">
      <!-- action指向递交页面 method为递交方法 -->

      <label>用户名:<input type="text" name="username"/></label> <br />
      <button type="submit">注册</button>
      <!-- 这里的注册按钮使用<input type="submit">标签和<button>标签都可以 -->
    </form>
  </body>
</html>

完成前端注册页之后,现在开始写PHP接受页:

register.php

<?php
include('conn.php');
//PHP链接数据库代码,在这里我用创建的单独连接页'conn.php',代码附下文

mysql_query("set character set 'utf8'");//读库 
mysql_query("set names 'utf8'");//写库 
//这两行代码能够保证从网页递交到数据库的内容显示中文格式不乱码,如果是注册的话可以只写'写库'一段

//查询语句,帮助协助查询当前注册用户名是否存在于数据库当中
$sql = "select * from T_USER where username='$_POST[username]'";
//第一个'username'为数据库内已存在的username值,将其与第二个'POST'方法传递过来的username值做对比

$rs = mysql_query($sql);
if(mysql_num_rows($rs)>0)//如果数据库内存在相同用户名,则'$rs'接收到的变量为'true'所以大于1为真,则返回'用户名已存在'
{
    echo "用户名已存在,请重新注册!";
    echo "<a href=register.php>[注册]</a>";
} else //否则可以成功注册递交
{
   $sql="INSERT INTO T_HOSPITAL (username) VALUES ('$_POST[username]')";
if (!mysql_query($sql))
    {
      die('Error: ' . mysql_error());
    }
echo "<span>注册成功!</span>";//显示注册成功信息
header("Refresh:1;url=login.php");//一秒后刷新进入登录页
}
?>

PHP链接数据库页面:

conn.php:

<?php
 $conn = mysql_connect("127.0.0.1","root","") or die("数据库链接错误".mysql_error());
 mysql_select_db("DB",$conn) or die("数据库访问错误".mysql_error());
 mysql_query("set names gb2312");
?>

猜你喜欢

转载自www.cnblogs.com/BLackPeace/p/10142172.html