ajax+php验证用户名重复代码实例

 更新时间:2016年11月25日 16:38  点击:1406
本教程是一款利用了ajax php在用户输入完用户名后,就会发送请求给php程序,然后查询数据,判断用户要注册的用户名是不是己经注册或存在重复了,及时的返回提示信息,以免用户填写了一大填表单后,突然提供用户名不能注册己被注册了,这样体验就不好了。本教程就是专门解决这个问题了,能快速的告诉你要注册的用户名是否可以注册。

<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd">
<html xmlns="http://www.111cn.net/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=gb2312" />
<title>ajax+php验证用户名重复代码实例</title>

 代码如下 复制代码

<script language="网页特效">
function createxmlhttprequest(){//创建xmlhttprequest对象
 if(window.activexobject){//ie
  try {
   return new activexobject("microsoft.xmlhttp");
  } catch(e){
   return;
  }
 }else if(window.xmlhttprequest){//mozilla,firefox
  try {
   return new xmlhttprequest();
  } catch(e){
   return;
  }
 }
}

function getrenews(value){//主调函数
 var xmlhttp=createxmlhttprequest();
 var url = "13.php?action=check&title="+value+"&mt="+math.random(300000);
 if (value==""){  
  return false ;
 }
 if (xmlhttp){
  callback = getreadystatehandler(xmlhttp);
  xmlhttp.onreadystatechange = callback;
  xmlhttp.open("get", url,true);
  xmlhttp.send(null);
 }
}

function getreadystatehandler(xmlhttp){//服务器返回后处理函数
 return function (){
  if(xmlhttp.readystate == 4){
   if(xmlhttp.status == 200){
       alert(xmlhttp.responsetext);
     if (xmlhttp.responsetext==1){
       document.getelementbyid("checkid").innerhtml="<font color='red'>对不起,用户名己存在!</font>";     
     }else{
      document.getelementbyid("checkid").innerhtml="可以注册";     
     }      
   }
  }
 }
}

</script>

</head>

<body>

 代码如下 复制代码
<table width="75%" border="0">
  <tr>
    <td width="12%">输入用户名</td>
    <td width="36%">   
      <input type="text" name="username" id="username" onblur="getrenews(this.value);" />
    </td>
    <td width="52%" id="checkid">&nbsp;</td>
  </tr>
</table>

</body>
</html>

把下面代码保存忝13.php

 代码如下 复制代码
<?
checkusername();
function checkusername()
{
 $title = trim($_get['title']);
 if( empty( $title ) )
 {
  return false;
 }
 else
 {
  mysql教程_connect('localhost','root','root');
  mysql_select_db('test');
  mysql_query("set names 'gb2312'");
  $sql = "select * from cn_user where username ='$title'";
  
  $row = mysql_query($sql);
  
  if( mysql_num_rows( $row ) )
  {
   echo 1;
  }
  else
  {
   return null;
  }
 }
}

/*
create table `test`.`cn_user` (
`id` int not null auto_increment ,
`username` varchar( 20 ) not null ,
`times` date null ,
primary key ( `id` )
) engine = myisam

插入数据

insert into `test`.`cn_user` (
`id` ,
`username` ,
`times`
)
values (
null , 'jimmy', null
), (
null , 'www.111cn.net', null
);

*/
?>

 

这是一款比较全的mysql操作类哦,昨天写了一个简单的连接mysql数据库代码,相对于这个来说,那个是最简单的了,这个是一款包括数据查询,更新,删除,等操作。

class mysql{

  private $db_host; //数据库主机
  private $db_user; //数据库用户名
  private $db_pwd; //数据库密码
  private $db_database; //数据库名
  private $conn; //数据库连接标识;
  private $sql; //sql执行的语句
  private $result; //query的资源标识符
  private $coding; //数据库编码,gbk,utf8,gb2312
  private $show_error = true; //本地调试使用,打印错误

  /**
   * 构造函数
   *
   * @access public
   * @parameter string $db_host   数据库主机
   * @parameter string $db_user   数据库用户名
   * @parameter string $db_pwd    数据库密码
   * @parameter string $db_database   数据库名
   * @parameter string $coding    编码
   * @return void
   */
  public function __construct($db_host, $db_user, $db_pwd, $db_database, $coding){
   $this->db_host = $db_host;
   $this->db_user = $db_user;
   $this->db_pwd =  $db_pwd;
   $this->db_database = $db_database;
   $this->coding = $coding;
   $this->connect();
  }

  /**
   * 链接数据库
   *
   * @access private
   * @return void
   */
  private function connect(){

   $this->conn = @mysql_connect($this->db_host,$this->db_user,$this->db_pwd);
   if(!$this->conn){
    //show_error开启时,打印错误
    if($this->show_error){
     $this->show_error('错误提示:链接数据库失败!');
    }
   }

   if(!@mysql_select_db($this->db_database, $this->conn)){
    //打开数据库失败
    if($this->show_error){
     $this->show_error('错误提示:打开数据库失败!');
    }
   }

   if(!@mysql_query("set names $this->coding")){
    //设置编码失败
    if($this->show_error){
     $this->show_error('错误提示:设置编码失败!');
    }
   }
  }

  /**
   * 可执行查询添加修改删除等任何sql语句
   *
   * @access public
   * @parameter string $sql   sql语句
   * @return resource  资源标识符
   */
  public function query($sql){
   $this->sql = $sql;
   $result = mysql_query($this->sql, $this->conn);
   if(!$result){
    //query执行失败,打印错误
    $this->show_error("错误的sql语句:", $this->sql);
   }else{
    //返回资源标识符
    return $this->result = $result;
   }
  }

  /**
   * 查询mysql服务器中所有的数据库
   *
   * @access public
   * @return void
   */
  public function show_databases(){
   $this->query("show databases");
   //打印数据库的总数
   echo "现有数据库:" . mysql_num_rows($this->result);
   echo "<br />";
   $i = 1;
   //循环输出每个数据库的名称
   while($row=mysql_fetch_array($this->result)){
    echo "$i $row[database]" . "<br />";
    $i++;
   }
  }

  /**
   * 查询数据库下所有表名
   *
   * @access public
   * @return void
   */
  public function show_tables(){
   $this->query("show tables");
   //打印表的总数
   echo "数据库{$this->db_database}共有" . mysql_num_rows($this->result) . "张表:";
   echo "<br />";
   //构造数组下标,循环出数据库所有表名
   $column_name = "tables_in_" . $this->db_database;
   $i = 1;
   //循环输出每个表的名称
   while($row=mysql_fetch_array($this->result)){
    echo "$i $row[$column_name]" . "<br />";
    $i++;
   }
  }

  /**
   * 取得记录集,获取数组-索引和关联
   *
    * @access public
   * @return void
   */
  public function fetch_array(){
   return mysql_fetch_array($this->result);
  }

  /**
   * 简化select查询语句
   *
   * @access public
   * @parameter string $table  表名
   * @parameter string $field  字段名
   * @return resource
   */
  public function findall($table, $field = '*') {
   return $this->query("select $field from $table");
  }

  /**
   * 简化delete查询语句
   *
   * @access public
   * @parameter string $table    表名
   * @parameter string $condition  查询的条件
   * @return resource
   */
  public function delete($table, $condition) {
   return $this->query("delete from $table where $condition");
  }

  /**
   * 简化insert插入语句
   *
   * @access public
   * @parameter string $table  表名
   * @parameter string $field  字段名
   * @parameter string $value  插入值
   * @return resource
   */
  public function insert($table, $field, $value) {
   return $this->query("insert into $table ($field) values ('$value')");
  }

  /**
   * 简化update插入语句
   *
   * @access public
   * @parameter string $table      表名
   * @parameter string $update_content  更新的内容
   * @parameter string $condition    条件
   * @return resource
   */
  public function update($table, $update_content, $condition) {
   return $this->query("update $table set $update_content where $condition");
  }

  /**
   * 取得上一步 insert 操作产生的 id
   *
   * @access public
   * @return integer
   */
  public function insert_id() {
   return mysql_insert_id();
  }

  /**
   * 计算结果集条数
   *
   * @access public
   * @return integer
   */
  public function num_rows() {
   return mysql_num_rows($this->result);
  }

  /**
   * 查询字段数量和字段信息
   *
   * @access public
   * @parameter string $table  表名
   * @return void
   */
  public function num_fields($table) {
   $this->query("select * from $table");
   echo "<br />";
   //打印字段数
   echo "字段数:" . $total = mysql_num_fields($this->result);
   echo "<pre>";
   //mysql_fetch_field() 函数从结果集中取得列信息并作为对象返回。
   for ($i = 0; $i < $total; $i++) {
    print_r(mysql_fetch_field($this->result, $i));
   }
   echo "</pre>";
   echo "<br />";
  }

  /**
   * 输出sql语句错误信息
   *
   * @access public
   * @parameter string $message 提示信息
   * @return void
   */
  public function show_error($message='',$sql=''){
   echo "<fieldset>";
   echo "<legend>错误信息提示:</legend><br />";
   echo "<div style='font-size:14px; clear:both; font-family:verdana, arial, helvetica, sans-serif;'>";
   //打印错误原因
   echo "错误原因:" . mysql_error() . "<br /><br />";
   //打印错误信息
   //mysql_error() 函数返回上一个 mysql 操作产生的文本错误信息。
   echo "<div style='height:20px; background:#ff0000; border:1px #ff0000 solid'>";
   echo "<font color='white'>" . $message . "</font>";
   echo "</div>";
   //打印错误sql语句
   echo "<font color='red'><pre>" . $sql . "</pre></font>";
   echo "</div>";
   echo "</fieldset>";
  }
 }

//使用方法

$mysql = new mysql($dbhost, $dbuser, $dbpwd, $dbname, $coding);
?>

这款无限分类php 递归函数是一款php 与sql查询递归的方法,很简单就是查询一次当前分类没有没子类,如果有的话就再调用函数本身来操作,如果己经没有子类了就可以返回了。
 代码如下 复制代码
function createsortoptions ($selected=0,$parent_id=0,$n=-1)
{
global $db;
$sql = "select * from `@__article_sort` where `parent_id` = '{$parent_id}'";
$options = ";
static $i = 0;
if ($i == 0)
{
$options .= '<option value="0′ >请选择</option>';
}
$res = $db->query ($sql);
if ($res)
{
$n++;
while ($row = $db->fetch_assoc ($res))
{
$i++;
$options .="<option value='{$row['sort_id']}'";
if ($row['sort_id'] == $selected)
{
$options .=' selected ';
}
$options .=">".str_repeat(' ',$n*3).$row['sort_name']."</option> ";
$options .=createsortoptions ($selected,$row['sort_id'],$n);
}
}
return $options;
}

如果是用smarty模板的朋友可以如下调用

 代码如下 复制代码
//– $tpl->assign('sort_list',createsortoptions ());
//– $tpl->assign('sort_list',createsortoptions ($sort_id));

 

首页得了解一下,我们是怎么把mssql server的数据导入到mysql数据库的,首先要在你的机器上装上mssql server 2000,同时还要让你的机器支持php+apache+mysql或是php+iis+mysql,好了,有一这些我们就可以开始导入数据了。

//mssql server与php连接

 代码如下 复制代码
$mcn = mssql_connect('127.0.0.1','sa','1');
mssql_select_db('hb',$mcn);

//mysql数据库连接

 代码如下 复制代码
$conn = mysql_connect('localhost','root','a') or die('mysql server 连接失败');
mysql_select_db('sa',$conn);
 代码如下 复制代码
$mssql = "select * from bc ";
$msquery = mssql_query( $mssql ); //查询mssql server 的数据保存到数据
if( mssql_num_rows( $msquery ) )
{
 while( $rs = mssql_fetch_array( $msquery ) )
 {
  $mysql ="insert into vv(id,title) values('$rs[id]','$rs[title]')"; //mysql查询语句
  mysql_query($mysql);//把mssql server 的数据保存数据到mysql数据库
 }
}


else
{
 echo 'mssql server 没有数据';
}
/*
ok总算了完成了,其实方法很简单就是同时连接二个数据库,然后把mssql  的数据读取出来保存到数据,再一条条保存到mysql数据库了。
本站原创文章注明来源www.111cn.net/phper/php.html
*/

下面是一款简单的php操作数据库的程序,我们是先讲php连接mysql数据库,然后再执行sql查询语句再把我们要的记录显示出来,最后关闭与mysql数据库的连接。

$host = 'localhost';
$user_name = 'root';
$password = 'admin';

$conn = mysql_connect($host,$user_name,$password);
if(!$conn)
{
    die('数据库连接失败:<br/>'.mysql_error());
}
echo '数据库连接成功!继续操作...';

mysql_select_db('test');

$sql = 'select id,name,city from users';
$result = mysql_query($sql);

if($result)
{
    echo 'sql语句:' . $sql . '<br/>已经成功执行!';
    $num = mysql_num_rows($result);    //调用函数mysql_num_row()获得select语句查询结果的行数
    echo '<br/>该sql语句查询到<b>'.$num.'</b>www.111cn.net行数据';
}

if(mysql_close($conn))
{
    echo '<br/>........<br/>';
    echo '到数据库的连接已经成功关闭';
}

[!--infotagslink--]

相关文章

  • php 获取用户IP与IE信息程序

    php 获取用户IP与IE信息程序 function onlineip() { global $_SERVER; if(getenv('HTTP_CLIENT_IP')) { $onlineip = getenv('HTTP_CLIENT_IP');...2016-11-25
  • php简单用户登陆程序代码

    php简单用户登陆程序代码 这些教程很对初学者来讲是很有用的哦,这款就下面这一点点代码了哦。 <center> <p>&nbsp;</p> <p>&nbsp;</p> <form name="form1...2016-11-25
  • php根据用户语言跳转相应网页

    当来访者浏览器语言是中文就进入中文版面,国外的用户默认浏览器不是中文的就跳转英文页面。 <&#63;php $lan = substr(&#8194;$HTTP_ACCEPT_LANGUAGE,0,5); if ($lan == "zh-cn") print("<meta http-equiv='refresh' c...2015-11-08
  • php有效防止同一用户多次登录

    【问题描述】:同一用户在同一时间多次登录如果不能检测出来,是危险的。因为,你无法知道是否有其他用户在登录你的账户。如何禁止同一用户多次登录呢? 【解决方案】 (1) 每次登录,身份认证成功后,重新产生一个session_id。 s...2015-11-24
  • js检测用户输入密码强度

    一个用Javascript检测用户输入密码强度的效果代码,以下代码主要是从以下四个方面检测用户输入的密码的强度的,有兴趣的朋友可以自己添加或修改成自己想要的形式! 1. 如果输入的密码位数少于5位,那么就判定为弱。 2. 如果...2015-10-23
  • sqlserver删除重复记录并且要保留一条记录

    删除重复数据,只保留一条用SQL语句,删除掉重复项只保留一条在几千条记录里,存在着些相同的记录,如何能用SQL语句,删除掉重复的呢...2018-09-10
  • php ajax注册验证用户名是否存在代码

    这是注册程序是一款当用户输入完用户名是,就会自动去数据库中查询用户要注册的用户名是否己经被注册了,如果是返回提示否则提示可以注册。 conn.php文件 代...2016-11-25
  • C#删除字符串中重复字符的方法

    这篇文章主要介绍了C#删除字符串中重复字符的方法,涉及C#针对字符串的遍历及移除等操作的技巧,非常具有实用价值,需要的朋友可以参考下...2020-06-25
  • 微信小程序用户授权最佳实践指南

    这篇文章主要给大家介绍了关于微信小程序用户授权最佳实践的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-05-08
  • postgresql 删除重复数据的几种方法小结

    这篇文章主要介绍了postgresql 删除重复数据的几种方法小结,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-02-05
  • 简单php cookie用户登录实例

    cookie 的用途之一是存储用户在特定网站上的密码和 id。另外,也用于存储起始页的首选项。在提供个人化查看的网站上,将要求阁下的网络浏览器利用阁下计算机硬驱上的少量...2016-11-25
  • MySQL验证用户权限的方法

    知识归纳因为MySQL是使用User和Host两个字段来确定用户身份的,这样就带来一个问题,就是一个客户端到底属于哪个host。 如果一个客户端同时匹配几个Host,对用户的确定将按照下面的优先级来排 基本观点越精确的匹配越优先...2015-11-08
  • sqlserver添加sa用户和密码的实现

    这篇文章主要介绍了sqlserver添加sa用户和密码的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-05-07
  • C#实现生成所有不重复的组合功能示例

    这篇文章主要介绍了C#实现生成所有不重复的组合功能,涉及C#数学运算中组合数运算的相关原理应用操作技巧,需要的朋友可以参考下...2020-06-25
  • 超详细的php用户注册页面填写信息完整实例(附源码)

    注册页面是大多数网站必备的页面,所以很有必要对自己的注册页面做些精心的设计。下面三张图,第一张是注册的展示页面,第二张思维导图就一个简单的逻辑,第三张是通过firebug查看调用的JS文件。 一、给每个输入框写下说明在...2015-11-24
  • mysql误删root用户恢复方法

    装完数据库清理一些默认账号的时候不小心把root删除了,flush privileges 之后的新 root 忘了grant任何权限,查看mysqld选项里面有个 &#8722;&#8722;skip-grant-tables复制代码 代码如下: #/usr/libexec/mysqld --verbos...2015-03-15
  • Win2012服务器 远程桌面帐户允许多用户同时登录的配置方法

    这篇文章主要介绍了Win2012服务器 远程桌面帐户允许多用户同时登录的配置方法,需要的朋友可以参考下...2016-11-01
  • 如何有效提高网站的用户回头率

    第一,网站的内容;请各位站长朋友不要一天到晚只想着出什么好的绝招来推广网站,却忽略了网站的内容;其实网站的内容是极为重要的,因为这是你的本,你的根!网站的内容只有不断...2017-07-06
  • 关于JSP用户登录连接数据库详情

    这篇文章主要介绍了关于JSP用户登录连接数据库的相关资料,需要的朋友可以参考下面文章内容...2021-09-07
  • 如何判断用户是否访问过某个网址

    一位站长译的一个国外的如何判断用户是否访问过某个网址文章,个人感觉写得非常不错,下面分享一下。 我们经常有这样的需求:想知道用户之前有没有访问过某个网址。有...2016-09-20