1. 程式人生 > >jquery ajax+mysql+php實現資料庫驗證使用者名稱是否存在

jquery ajax+mysql+php實現資料庫驗證使用者名稱是否存在

   總共需要兩個頁面和一個名為test的資料庫,裡頭有一個名為bbs的表:

nameExisit.php(使用者前端頁面當然也可以寫成html頁面)

reg.php              (用於處理資料的後臺頁面)

nameExisit.php

<!DOCTYPE HTML PUBLIC "//W3C//DTDHTML4.01Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>jquery檢測使用者名稱</title>
    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
    <script type="text/javascript" src='jquery-1.7.1.min.js'></script>
   <script type="text/javascript">
    $(function(){
 
      $("#username").blur(function(){
      
       $.ajax({
         type:"GET",
         url:"reg.php",
        data:"user="+$("#username").val(); 
                  beforeSend:function(msg) {    //beforeSend這個函式用於響應資料成功返回之前的動作;                        

                          $("#box").text("正在查詢...");  //在資料成功返回之前提示正在查詢.當然也可以放一個loading圖片;
      },
    
      success:function(msg){                 //success  這個函式用於響應資料成功返回之後的動作; 
              if(msg==1){                        //如果返回的資料是數字1,則在id為box的div內顯示使用者名稱已經存在;
       $("#box").html("改使用者名稱已經存在");
       
      }else if(msg==0){                    //如果返回的資料是數字1,則在id為box的div內顯示使用者名稱已經存在;
      
        $("#box").html("改使用者名稱可用");
      }
     
      }
   
    }) //end of ajax
  
   }) //end of blur

 })  
 
   </script>


<form name="myform" action="" method="post">
使用者名稱:<input type="text" name="username" id="username" value=""><br>

<div id="box"></div>

</form>
reg.php
 <?php

            sleep(10);                  //這裡設定一個延遲函式,是為了讓資料成功之前那個“正在查詢...”看得更明顯些;
            $username=$_GET['user'];       //從前端頁面獲取到name為user的input的值;
            $conn=mysql_connect("localhost","root","");  //連結本地php
            mysql_select_db("test",$conn);                     //選擇一個名為test的伺服器;
            mysql_query('set names gbk');                      //設定的伺服器編碼;
            $sql="select * from bbs where `name`='".$username."'";        //從資料庫表中選擇name值;
            $res=mysql_query($sql);                              //執行從資料庫返回的值;
            $data = mysql_fetch_array($res);                 //把執行後的資料返回一個數組賦值給$data變數;
              if($data ['name']){                                        //如果$data 存在,則輸出1,否則輸出0;
                 echo 1;
                    }else{
                      echo 0;

              }

?>

上面我們用的是mysql_fetch_array,其實也可用mysql_fetch_row()函式。例如我們改成

<?php

sleep(10); //這裡設定一個延遲函式,是為了讓資料成功之前那個“正在查詢...”看得更明顯些;
$username=$_GET['user']; //從前端頁面獲取到name為user的input的值;
$conn=mysql_connect("localhost","root",""); //連結本地php
mysql_select_db("test",$conn); //選擇一個名為test的伺服器;
mysql_query('set names gbk'); //設定的伺服器編碼;
$sql="select * from bbs where `name`='".$username."'"; //從資料庫表中選擇name值;
$res=mysql_query($sql); //執行從資料庫返回的值;
$data = mysql_fetch_row($res); //把執行後的資料返回一個數組賦值給$data變數;
if($data ){ //如果$data 存在,則輸出1,否則輸出0;
echo 1;
}else{
echo 0;

}

?>
文章轉自:http://tianchuan0121.blog.163.com/blog/static/9114378520129384552849/