PHP驗證用戶名重複註冊【新手】

本小結利用最簡單的方式經過PHP驗證表單遞交內容(用戶名)是否存在於數據表中。若是存在了,則顯示已經被註冊,若是不存在則能夠正常註冊。php

詳細代碼以下:html

步驟省略數據庫、數據表的創建。前端

前端遞交頁面代碼以下:mysql

register.htmlsql

<!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.phppost

<?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連接數據庫頁面:ui

conn.php:url

<?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");
?>
相關文章
相關標籤/搜索