免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2257 | 回复: 4
打印 上一主题 下一主题

[xajax]新手学习xajax,学习手记。  关闭 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-12-19 15:32 |只看该作者 |倒序浏览
xajax类:http://xajax.sourceforge.net
昨晚开始接触xajax,感觉很不错,于是开始写了一些代码,希望能对象我这样刚学的新手有用,高手就别看了。。呵呵。。。
  1. <?php
  2. require('xajax.inc.php');
  3. $xajax = new xajax;
  4. $xajax->registerFunction("check");
  5. function check($data)
  6. {
  7.         $response = new xajaxResponse();
  8.         if (strlen($data['username'])<3)
  9.         {
  10.                 $response->addAssign("info","innerHTML","用户名长度太短");
  11.                 return $response->getxml();
  12.         }
  13.         else if(strlen(($data['username']))>20)
  14.         {
  15.                 $response->addAssign("info","innerHTML","用户名长度太长");
  16.                 return $response->getxml();
  17.         }
  18.         else
  19.         {
  20.                 $response->addAssign("info","innerHTML","用户名符合规格");
  21.                 return $response->getxml();
  22.         }
  23. }
  24. $xajax->processRequests();
  25. $xajax->printJavascript();
  26. ?>
  27. <script language="javascript">
  28.         function chkform()
  29.         {
  30.                 xajax_check(xajax.getFormValues('form1'));
  31.         }
  32. </script>
  33. <form id="form1" name="form1" action="?" method="post">
  34. username:<input type="text" id="username" name="username"><div id="info" name="info"></div>
  35. password:<input type="text" id="password" name="password" onclick="chkform();">
  36. </form>
复制代码



检查用户名是否存在

  1. <?php
  2. require('xajax.inc.php');
  3. $xajax = new xajax;
  4. function userisexist($username)
  5. {
  6.         $conn=@mysql_connect('localhost','root','root');
  7.         if (!$conn){die(mysql_errorno());}
  8.         $selectdb=@mysql_select_db('phpwind');
  9.         if (!$selectdb){die(mysql_errorno());}
  10.         $sql="select username from pw_members where username='".$username."'";
  11.         $result=mysql_query($sql);
  12.         $rs=mysql_num_rows($result);
  13.         if ($rs==true)
  14.         {
  15.                 return true;
  16.         }
  17.         else
  18.         {
  19.                 return false;
  20.         }
  21. }

  22. function checkuser($username)
  23. {
  24.         $response = new xajaxResponse();
  25.         if (userisexist($username)==true)
  26.         {
  27.                 $response->addAssign("showmsg","innerHTML","对不起,".$username."已经存在");
  28.                 return $response->getxml();
  29.         }
  30.         else
  31.         {
  32.                 $response->addAssign("showmsg","innerHTML","恭喜,".$username."可以注册");
  33.                 return $response->getxml();
  34.         }
  35. }
  36. $xajax->registerFunction('checkuser');
  37. $xajax->processRequests();
  38. ?>
  39. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  40. <html>
  41.         <head>
  42.                 <?php $xajax->printJavascript(); ?>
  43.         <script language="javascript">
  44.                         function checkform()
  45.                         {
  46.                                 xajax_checkuser(document.getElementById('username').value);
  47.                         }
  48.                 </script>
  49.         </head>
  50.         <body>
  51.                 <form action="?" id="form1" name="form1">
  52.                 <input type="input" id="username" name="username"><div id="showmsg" name="showmsg"></div>
  53.                 <input type="button" id="checkbt" name="checkbt" onclick="checkform();" value="Check Now">
  54.                 </form>
  55.         </body>
  56. </html>



复制代码


使用xajax检测帐号是否可以注册。
使用的是 xajax 0.2
check.php

  1. <?php
  2. require('reg.common.php');
  3. ?>
  4. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  5. <html>
  6.     <head>
  7.         <?php $xajax->printJavascript(); ?>
  8.         <script language="javascript">
  9.             function checkform()
  10.             {
  11.                 xajax_checkreg(document.getElementById('username').value);
  12.             }
  13.         </script>
  14.     </head>
  15.     <body>
  16.         <form action="?" id="form1" name="form1">
  17.         <input type="input" id="username" name="username"><div id="showmsg" name="showmsg"></div>
  18.         <input type="button" id="checkbt" name="checkbt" onclick="checkform();" value="Check Now">
  19.         </form>
  20.     </body>
  21. </html>
复制代码


reg.common.php

  1. <?php
  2. define ('XAJAX_DEFAULT_CHAR_ENCODING','gb2312');
  3. require('xajax.inc.php');
  4. $xajax = new xajax('reg.server.php');
  5. $xajax->registerFunction("checkreg");
  6. ?>
复制代码


reg.server.php

  1. <?php
  2. require_once('reg.common.php');
  3. function userisexist($username)
  4. {
  5.         $conn=@mysql_connect('localhost','root','root');
  6.     if (!$conn){die(mysql_errorno());}
  7.     $selectdb=@mysql_select_db('phpwind');
  8.     if (!$selectdb){die(mysql_errorno());}
  9.     $sql="select username from pw_members where username='".$username."'";
  10.     $result=mysql_query($sql);
  11.     $rs=mysql_num_rows($result);
  12.     if ($rs==true)
  13.     {
  14.         return true;
  15.     }
  16.     else
  17.     {
  18.         return false;
  19.     }
  20. }

  21. function isvalidname($username)
  22. {
  23.         $badkey=array("\\",'|','??',' ',"'",'"','/','*',',','~',';','<','>','$',"\r","\t","\n");
  24.         foreach($badkey as $value)
  25.                 {
  26.                         if (strpos($username,$value)!==false)
  27.                         {
  28.                                 return false;
  29.                                 exit;   
  30.                         }
  31.                 }
  32.         return true;
  33. }

  34. function checkreg($username)
  35. {
  36.         $response = new xajaxResponse();
  37.         if (strlen($username)<3||strlen($username)>20)
  38.         {
  39.                 $response->addClear('showmsg',"innerHTML");
  40.                 $response->addAlert('对不起,用户名太长或者太短!');
  41.         }
  42.         elseif(isvalidname($username)==false)
  43.         {
  44.                 $response->addClear('showmsg',"innerHTML");
  45.                 $response->addAlert('对不起,用户名含有非法字符!');
  46.         }
  47.         else
  48.         {
  49.                 if(userisexist($username)==true)
  50.                 {
  51.                         $response->addAssign('showmsg',"innerHTML","对不起, ".$username." 已经存在!");
  52.                 }
  53.                 else
  54.                 {
  55.                         $response->addAssign('showmsg',"innerHTML","恭喜, ".$username." 可以使用!");
  56.                 }
  57.         }
  58.        
  59.         return $response;
  60. }

  61. $xajax->processRequests();
  62. ?>
复制代码

[ 本帖最后由 郁闷小子 于 2005-12-20 19:24 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2005-12-19 15:34 |只看该作者
偶也是新手~~~同道中人 顶一下 大家多多交流

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
3 [报告]
发表于 2005-12-19 16:12 |只看该作者
建议先做好分析,如果是你这样子的检查,不如就在客户端进行,呵呵,如果实际应用纯属浪费资源.

例如你可以在服务器端检查用户名是否存在.

论坛徽章:
0
4 [报告]
发表于 2005-12-19 18:00 |只看该作者
原帖由 HonestQiao 于 2005-12-19 16:12 发表
建议先做好分析,如果是你这样子的检查,不如就在客户端进行,呵呵,如果实际应用纯属浪费资源.

例如你可以在服务器端检查用户名是否存在.


请问一下板大,如何快速判断客户端是否支持 XAJAX ?

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
5 [报告]
发表于 2005-12-19 19:08 |只看该作者
原帖由 hitty 于 2005-12-19 18:00 发表


请问一下板大,如何快速判断客户端是否支持 XAJAX ?



现在的浏览器支持JavaScript就可以了.

你可以创建xmlhttprequest这个对象来看是否支持
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP