首页 > 编程技术 > php

php ajax验证用户名实现代码(1/3)

发布时间:2016-11-25 17:33

下面是一款完整的用户在注册前的ajax验证用户名的实现代码,只要按要求保存就可以了。

 

<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=gb2312">
<title>ajax用户验证</title>
<style>
body {
 font: 12px , arial, helvetica, sans-serif; color: #808080
}
#reg{
 width: 600px;
 border: 1px dotted #336699;
}
td{font-size:12px;color:}
h1{
 height:35px;
 font-size:16px;
 color:#ffffff;
 background-color: #336699;
 line-height: 30px;
 padding-left:25px;
}

.anniu {
 border-right: #666666 1px solid; padding-right: 1px; border-top: #ffffff 1px solid; padding-left: 1px; font-size: 9pt; padding-bottom: 1px; border-left: #ffffff 1px solid; cursor: hand; color: #333333; padding-top: 1px; border-bottom: #666666 1px solid; font-family: "宋体"; height: 20px; background-color: #eeeeee
}
.framedivpass{
 
 border: 1px solid #6fbe44;
 padding: 2px;
 height: 100%;
 float: left;
}
.framedivwarn{
 
 border: 1px solid #ff0000;
 padding: 2px;
 height: 100%;
 float: left;
}
</style>
<script language="网页特效" type="text/javascript">
 var xmlhttp = false;
 try {
  xmlhttp = new activexobject("msxml2.xmlhttp");
 } catch (e) {
  try {
   xmlhttp = new activexobject("microsoft.xmlhttp");
  } catch (e2) {
   xmlhttp = false;
  }
 }
 if (!xmlhttp && typeof xmlhttprequest != 'undefined') {
  xmlhttp = new xmlhttprequest();
 }
 function ajax(data){ 
  xmlhttp.open("get","user_ck.php教程?username="+document.getelementbyid("username").value,true);
  xmlhttp.send(null);
     document.getelementbyid('username_notice').innerhtml = process_request;//显示状态
  xmlhttp.onreadystatechange=function(){
   if (4==xmlhttp.readystate){
    if (200==xmlhttp.status){
    var responsetext = xmlhttp.responsetext;
       if (responsetext=="true" ){
       ck_user("true");
          }
       else{
       ck_user("false");
       }
    }else{
     alert("发生错误!");
    }
   }
  }
 }
 function chkusername(obj){
      if (checks(obj.value)== false)
    {
   obj.classname = "framedivwarn";
   showinfo("username_notice",msg_un_format);
            change_submit("true");
    }
  else if(obj.value.length<1){
   obj.classname = "framedivwarn";
   showinfo("username_notice",msg_un_blank);
            change_submit("true");
  }

  else if(obj.value.length<3){
   obj.classname = "framedivwarn";
   showinfo("username_notice",username_shorter);
            change_submit("true");
  }
  else{
   //调用ajax函数,向服务器端发送查询
   ajax(obj.value);
  }   

 }

 

我们提供了几种编码转换如有UTF-8 转GB编码 GB转UTF-8编码 Unicode转utf8 unicode url编码转gbk编码函数 GB码转换成Big5码 Big5码转换成GB码 utf8转Unicode等哦。

$uc2gbtable = $codetable = $big5_data = $gb_data = '';
$gbkunidic = null;

//utf-8 转gb编码
function utf82gb($utfstr)
{
 if(function_exists('iconv'))
 {
  return iconv('utf-8','gbk//ignore',$utfstr);
 }
 global $uc2gbtable;
 $okstr = "";
 if(trim($utfstr)=="")
 {
  return $utfstr;
 }
 if(empty($uc2gbtable))
 {
  $filename = dedeinc."/data/gb2312-utf8.dat";
  $fp = fopen($filename,"r");
  while($l = fgets($fp,15))
  {
   $uc2gbtable[hexdec(substr($l, 7, 6))] = hexdec(substr($l, 0, 6));
  }
  fclose($fp);
 }
 $okstr = "";
 $ulen = strlen($utfstr);
 for($i=0;$i<$ulen;$i++)
 {
  $c = $utfstr[$i];
  $cb = decbin(ord($utfstr[$i]));
  if(strlen($cb)==8)
  {
   $csize = strpos(decbin(ord($cb)),"0");
   for($j=0;$j < $csize;$j++)
   {
    $i++; $c .= $utfstr[$i];
   }
   $c = utf82u($c);
   if(isset($uc2gbtable[$c]))
   {
    $c = dechex($uc2gbtable[$c]+0x8080);
    $okstr .= chr(hexdec($c[0].$c[1])).chr(hexdec($c[2].$c[3]));
   }
   else
   {
    $okstr .= "&#".$c.";";
   }
  }
  else
  {
   $okstr .= $c;
  }
 }
 $okstr = trim($okstr);
 return $okstr;
}

 

下面是一款php数字分页类的代码,己经封装好了的代码,需要的朋友可以参考使用一下。分页的主要原理就是获取当前页面,再判断一页多少条记录相除,得出总记录,就这么简单了。

function getnavhtml($pagenum,$pagesize,$rowcount,$navurl){
$pagecount = (int)($rowcount/$pagesize); //总页数
if ($rowcount % $pagesize >0){
$pagecount++;
}
if ($pagenum>$pagecount){
$pagenum = 1;
}
$firstnav = "<a href="{$navurl}page=1">首页</a> ";
$lastnav = "<a href="{$navurl}page={$pagecount}">尾页</a> ";
$prevnav="";
$nextnav="";
if ($pagenum>1){
$navpagenum = $pagenum-1;
$prevnav = "<a href="{$navurl}page={$navpagenum}">上一页</a> ";
}
if ($pagenum<$pagecount && $pagecount>1){
$navpagenum = $pagenum+1;
$nextnav = "<a href="{$navurl}page={$navpagenum}">下一页</a> ";
}
$amongnav="";

//关键循环

for ($i=1;$i<=5;$i++){
$navpagenum = $pagenum+ $i-3;
if ($navpagenum>0 && $navpagenum<=$pagecount){
$navcss教程 = $navpagenum == $pagenum?" class="hover"":"";
$amongnav.="<a href="{$navurl}page={$navpagenum}" $navcss>{$navpagenum}</a> ";
}
}
return $firstnav.$prevnav.$amongnav.$nextnav.$lastnav." ".$pagenum."/".$pagecount." 共有[".$rowcount."]条数据";
}
}

/**
* 获取页码导航html
* @param $pagenum:当前页码
* @param $pagesize:每页数量
* @param $rowcount:记录总数
* @param $navurl:链接页面url
*/

opendir() 函数打开一个目录句柄,可由 closedir(),readdir() 和 rewinddir() 使用。 若成功,则该函数返回一个目录流,否则返回 false 以及一个 error。可以通过在函数名前加上 \"@\" 来隐藏 error 的输出。

$dir = opendir("images");

//列出 images 目录中的文件
while (($file = readdir($dir)) !== false)
  {
  echo "filename: " . $file . "<br />";
  }
  closedir($dir);


// 看一下改装的目录浏览实现,使用表格浏览目录的结构

print("<table border="1">n");
// 创建表格的头
print("<tr><font color='red'>n");
print("<th>文件名</th>n");
print("<th>文件的大小</th>n");
print("</font></tr>n");
$mydirectory = opendir(".");  // 建立操作目录的句柄
// 读出目录中的每一个子项
while($entryname = readdir($mydirectory))//通过循环,访问目录的每一个文件
{
   print("<tr>");
   print("<td>$entryname</td>");
   print("<td align="right">");
   print(filesize($entryname));//返回文件大小
  print("</td>");
   print("</tr>n");
}
closedir($mydirectory);   // 关闭目录
print("</table>n");
php中自带的函数rmdir只能删除空目录,如果你要删除带有文件或有目录的目录,需要递归与unlink一起使用了,下面我们看看删除不是空目录的自定义函数。

//rmdir(dir,context) rmdir() 函数删除空的目录。

$path ='';
if( is_dir( $path ) )
{
 if( rmdir( $path ) )
 {
  echo '删除目录成功';
 }
}
else
{
 echo '不是目录';
}

/*
总结
   
*/
/**
 * 删除文件或文件夹(递归)
 * @param array $filelist
 * @param string $option
 * @param string $fileext 要删除的文件扩展名 格式:'html'
 * @return void
 */

 function rm($filelist, $option='r', $fileext = null, $if_rmdir = false) {
  if (!is_array($filelist)) {
   $filelist = explode('|', $filelist);
  }
  foreach ($filelist as $filename) {
   if (is_file($filename)) {
    if (empty($fileext)) {
     unlink($filename);
    } else {
     if (substr(strrchr($filename, '.'), 1 ) == $fileext){
      unlink($filename);
     }
    }
   } elseif (is_dir($filename)) {
    if (strpos($option, 'r')!==false) {
     $file_list_ = ls($filename);
     foreach ($file_list_ as $fi => $file) {
      $file_list_[$fi] = $filename . $file;
     }
     rm($file_list_, $option, $fileext);
    }
    if ($if_rmdir) {
     rmdir($filename);
    }
   }
  }
 }

//调用方法

标签:[!--infotagslink--]

您可能感兴趣的文章: