Chinaunix首页 | 论坛 | 博客
  • 博客访问: 15260282
  • 博文数量: 7460
  • 博客积分: 10434
  • 博客等级: 上将
  • 技术积分: 78178
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-02 22:54
文章分类

全部博文(7460)

文章存档

2011年(1)

2009年(669)

2008年(6790)

分类:

2008-05-16 18:09:55

reg.htm







PHP+AJAX注册用户名验证





    

        

PHP+Ajax


        

          
               


                  
         


               


                  
                  
               


      

        


服务器端db.php

    /*数据库连接*/
    
    $conn=@mysql_connect("localhost","root","");
    mysql_query("SET NAMES UTF8");
    mysql_select_db("php_ajax",$conn);
    
    //设置页面编码
    header("Content-type:text/html;charset=UTF-8");
    
    //查询数据库
    if(isset($_GET["username"])){
        $strsql="SELECT * FROM member WHERE username='".unescape($_GET["username"])."'";
        $result=mysql_query($strsql);
        $rows=@mysql_num_rows($result);
        mysql_close($conn);
        
        //判断是否有此记录
        if($rows){
            echo "已被注册!";
        }else{
            echo "此用户名未被注册!";
        }
    }else{
        echo "别调戏我!";
    }
    
    /*PHP的unescape转换函数,用来转换Javascript用escape函数加密过的字符
    --此函数需要iconv函数库支持*/
    
    function unescape($str) {
        $str = rawurldecode($str);
        preg_match_all("/%u.{4}|&#x.{4};|&#\d+;|&#\d+?|.+/U",$str,$r);
        $ar = $r[0];
        foreach($ar as $k=>$v) {
            if(substr($v,0,2) == "%u")
                $ar[$k] = iconv("UCS-2","UTF-8",pack("H4",substr($v,-4)));
            elseif(substr($v,0,3) == "&#x")
                $ar[$k] = iconv("UCS-2","UTF-8",pack("H4",substr($v,3,-1)));
            elseif(substr($v,0,2) == "&#") {
                $ar[$k] = iconv("UCS-2","UTF-8",pack("n",preg_replace("/[^\d]/","",$v)));
            }
        }
        return join("",$ar);
    }    
?>

sql

CREATE TABLE `member` (
  `id` int(11) NOT NULL auto_increment,
  `username` varchar(20) NOT NULL default '',
  `pwd` varchar(50) NOT NULL default '',
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=10 DEFAULT CHARSET=utf8 AUTO_INCREMENT=10 ;

--
-- 导出表中的数据 `member`
--

INSERT INTO `member` VALUES (8, 'admin', 'admin888');
INSERT INTO `member` VALUES (9, '测试', '测试');

阅读(754) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~