php+ajax用戶注冊驗證用戶是否在存(php mysql完整實例) 這是一個完整理的php+mysql+ajax的用戶注冊實例程序,可以提供檢測用戶名是否被注冊,這樣可以增強用戶體驗哦,在你填寫好用戶名後就會提供你當前所有注冊的用戶是否己經被注冊了。
php教程+ajax用戶注冊驗證用戶是否在存(php mysql教程完整實例)
這是一個完整理的php+mysql+ajax的用戶注冊實例程序,可以提供檢測用戶名是否被注冊,這樣可以增強用戶體驗哦,在你填寫好用戶名後就會提供你當前所有注冊的用戶是否己經被注冊了。
本程序包括三個文件
reg.html 用戶注冊html頁面
reg.php php處理代碼
conn.php 數據庫教程連接文件
reg.html代碼
<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=gb2312" />
<title>php+ajax用戶注冊驗證用戶是否在存(php mysql完整實例)</title>
<style type="text/css教程">
body{
font-size:12px;
text-align:center;
}
.text{
width:180px;
height:12px;
}
p{
width:600px;
height:20px;
line-height:20px;
text-align:left;
}
p label{
display:block;
width:80px;
height:20px;
line-height:20px;
float:left;
text-align:right;
}
p span{
margin-left:10px;
}
</style>
</head>
<body>
<script language="網頁特效">
function createxmlhttprequest(){
var xmlhttp;
if(window.activexobject){
xmlhttp = new activexobject("microsoft.xmlhttp");
}else if(window.xmlhttprequest){
xmlhttp = new xmlhttprequest();
}
return xmlhttp;
}function checkname(){
var name = document.getelementbyid('name'); //獲取用戶名文本框
var span = document.getelementbyid('name_info'); //獲取用於顯示結果的span標記
if(name.value.length <= 4){
span.style.color = '#ff0000'; //設置span標記內的字體顏色為紅色
span.innerhtml = '用戶名長度不能少於4個字符!'; //span標記內容
return false;
}
var xmlhttp = createxmlhttprequest();//創建異步請求對象
var time = new date().gettime();
var url = 'reg.php?act=reg&name=' + name.value.tolowercase() + '&tmp=' + time;//構造出請求地址
xmlhttp.open("get",url,true); //建立一個異步請求
/*這裡我們使用get方式請求
post方式的請求基本差不多,朋友們自己試試如果不行,在下面給我留言*/
xmlhttp.onreadystatechange = function(){ //監視請求狀態
span.style.color = '#ff9900';
span.innerhtml = '查詢中,請稍候!';
if(xmlhttp.readystate == 4 && xmlhttp.status == 200){
if(xmlhttp.responsetext.indexof('no') != -1){ //如果服務器返回的信息中有no
span.style.color = '#cb2121'; //設置span標記顏色為紅色
span.innerhtml = '用戶名[' + name.value + ']已經被別的用戶使用!';
}else{//如果返回信息中沒有no
span.style.color = '#00a800';//設置顏色為綠色
span.innerhtml = '恭喜您,該用戶名未被注冊!';
}
return true;
delete xmlhttp; //刪除請求對象
}
}
xmlhttp.send(null); //發送請求
}
</script>
<form method="post" action="reg.php">
<p><label>用戶名:</label><input type="text" class="text" id="name" name="user_name"/><span id="name_info"></span></p>
<p><label></label><input type="button" value="檢查用戶名" onclick="checkname()"/></p>
<p><label>密碼:</label><input type="password" class="text" /></p>
<p><label> </label><input type="submit" value="注冊" /></p>
</form>
</body>
</html>
reg.php文件
<?phpinclude("conn.php");
$name=$_get['name'];
$name=urldecode($name);if(strlen($name)>0){
$sql="select username from registration where username = '$name'";
$result=mysql_query($sql);
$row=mysql_fetch_array($result);
if($_get['act'] == 'reg'){
if(!empty($row['username'])){ //只要注冊用戶名為kaixin的時候,注冊頁面就會用紅色字體提示次用戶已被注冊!
echo 'no';
}else{
echo 'yes';
}
}
}
?>
conn.php數據庫文件
<?php
/* created on 下午12:08:25*/
$conn=@mysql_connect("localhost","root","")or die("bKjia.c0m提示你:連接失敗!");
mysql_select_db("reg",$conn);
mysql_query("set names 'gbk'");
?>
registration數據表結構
-- phpmyadmin sql dump
-- version 2.11.2.1
-- http://www.phpmyadmin.net
--
-- 主機: localhost
-- 生成日期: 2009 年 05 月 20 日 05:29
-- 服務器版本: 5.0.45
-- php 版本: 5.2.5
set sql_mode="no_auto_value_on_zero";
--
-- 數據庫: `reg`
--
-- --------------------------------------------------------
--
-- 表的結構 `registration` phpmyadmin導入數據
--
create table `registration` (
`id` tinyint(6) not null auto_increment,
`username` varchar(14) not null comment '注冊用戶名',
`userpwd` varchar(14) not null comment '注冊密碼',
primary key (`id`)
) engine=innodb default charset=gb2312 auto_increment=6 ;--
-- 導出表中的數據 `registration`
--
insert into `registration` (`id`, `username`, `userpwd`) values
(1, 'admin', 'admin888'),
(2, 'lyn', 'bKjia.c0m'),
(3, 'xiaot', 'xiaot'),
(4, 'xiaoe', 'xiaoe'),
(5, '我愛www.bKjia.c0m', '5201314110');