首页 > 编程技术 > php

[原创]ajax 实现用户注册功能教程四

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

//[原创]ajax 实现用户注册功能教程四

本教程由本站原创,转载请注明来处

作者:www.111cn.net

邮箱:drise@163.com

QQ:271728967

//

现在是最后一步了,那就是注册了,这里就不多写了,只要会php的都能实现了.

各位有什么意见请直接留言评论.

下次写个ajax的文件文件平管理系统

以前我们刚写PHP的时候,做后台,需要管理员身份认证。一般用COOKIE这么做的,特别是刚接触PHP的PHP爱好者:
admin/login.php

if(用户名&&密码正确) {
     
setcookie('admin',1,time()+36400
);
     echo 
'登录成功'
;
}


if($_COOKIE[admin] == 1) {
    echo 
'有权限'
;
}


但是这样会造成很大的安全隐患,很多浏览器可以直接修改COOKIE,或者直接在系统里修改。

只要伪造cookie,那么管理权限就拿到了

为了安全,这么做:

if(用户名&&密码正确) {
     
setcookie('userid',用户在系统中的ID,time()+36400
);
     
setcookie('userpass',用户在系统中的32位md5密码,time()+36400
);
     echo 
'登录成功'
;
}


判断权限的时候这么做:

if($_COOKIE[userid]) {
$query mysql_query(select user table where userid '$_COOKIE[userid]' and userpass '$_COOKIE[userpass]'
);
$row mysql_fetch_array($query
);
if(
$row[rank] <> 1
) {
    echo 
'没有权限'
;
}
}


这样伪造cookie就没有任何作用了

//[原创]ajax 实现用户注册功能教程三

本教程由本站原创,转载请注明来处

作者:www.111cn.net

邮箱:drise@163.com

QQ:271728967

//

现在到了第三步,我们来写type.php文件,这个文件的作用是判断用户名是否存在,再然后数据给用户.

<?php
header("Content-type:text/html;charset=gb2312");//为了不让其出现乱码所以把文档编码设置为gb2312
$xm=Strreplace(isset($_GET['txt'])?$_GET['txt']:'null');//取得用户名
if(preg_match("/^[".chr(0xa1)."-".chr(0xff)."]+$/", $xm)){//判断用户名第一个是否为汉字,
  echo("<div id='phperblog_showinfo_red'>对不起,不能使用中文作为用户名! </div>");
  exit();
  }
if($xm=='null' || $xm=='' || strlen($xm)>10 || strlen($xm)<3){//判断用户名的合法性
 echo("<div id='phperblog_showinfo_red'>对不起,你输入的用户名不合法,用户由3-10Aa_zZ及数字组成! </div>");
 exit();
}else{
 $result=mysql_query("select uname from tablename where uname='$xm' ") or die('Error !'."Error system busy.....plase wait!");
 if(!mysql_num_rows($result)){
  echo("<div id='phperblog_showinfo_reg'>恭喜你!用户名".$xm."还未注册,你可以注册! </div>");
 }else{
  echo("<div id='phperblog_showinfo_red'>对不起,用户己注册请选择其它名称!</div>");
 }
}
?>

[原创]ajax 实现用户注册功能教程二','

//

本教程由本站原创,转载请注明来处

作者:www.111cn.net

邮箱:drise@163.com

QQ:271728967

//

上面第一个reg.php文件己经做好了,我就来做第二步

var xmlHttp = false;
function ajaxcreate(){//这里是创建xmlhttpt对像

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();


 }


if(!xmlHttp){alert(\\\'Create Xmlhttp Fail \\\');return false;}


}

function ajax(){//这里是接到reg.php onblur()事件后要进行的操作,

 ajaxcreate();

 var xmvalue=document.getElementById("xm").value;


 var url="/boke/blog/type.php?txt="+encodeURI(xmvalue);


 if (xmvalue== null || xmvalue.length>20 || xmvalue == "") return false;


 xmlHttp.open("POST",url,true); 


 xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");


 xmlHttp.send(xmvalue); 


 xmlHttp.onreadystatechange=returnstate; 


}


function returnstate(){


 if(xmlHttp.readyState != 4 ){


  document.getElementById("divxm").innerHTML="<div id=\\\'phperblog_showinfo_red\\\'><font color=red>正在验证中,请稍后...</font></div>";


 }

 if(xmlHttp.readyState == 4 ){


  document.getElementById("divxm").innerHTML=xmlHttp.responseText;


 }


}

//

本教程由本站原创,转载请注明来处

作者:www.111cn.net

邮箱:drise@163.com

QQ:271728967

//

 

第一步我们来创建一个注册文章reg.php

第二步就是写js文件

第三步就是在用户名框使用onblur()调用type.php文件

第四步就是check.php实现文件

下面废话就不多说了,我们来建立文章reg.php代码如下[测试页面http://www.111cn.net/reg.php]

<table width="100%" border="0" cellspacing="0">
                        <form name="form1" id="form1" method="post" action="/boke/blog/check.php">
                          <tr>
                            <td height="28" colspan="5"><div id="reglist">让你不再为写博客而写博客,我们让你写的文章变成你想要的东西!</div></td>
                          </tr>
                          <tr>
                            <td height="43" colspan="3" align="left" valign="bottom">&nbsp;<img" width=100% src="/boke/blog/Pic/st-0136.gif" width="16" height="16" /><span class="style6">[注:带<span class="style1">*</span>号的为必须填项]</span> </td>
                            <td width="323">&nbsp;</td>
                            <td width="248">&nbsp;</td>
                          </tr>
                          <tr class="tb">
                            <td width="108" height="40" align="right" class="tb">用户名(<span class="style3"><span class="style1">*</span></span>):</td>
                            <td colspan="2" align="left" class="tb"><input name="xm" type="text" id="xm" size="15" onblur="ajax();" />
                            </td>
                            <td width="323" class="tb"  ><div id="divxm">
                                <div id="bothlist">请填写你的帐号!</div>
                            </div></td>
                            <td width="248" class="tb"  >&nbsp;</td>
                          </tr>
                          <tr class="tb">
                            <td width="108" height="40" align="right" class="tb">性别(<span class="style3"><span class="style1">*</span></span>):</td>
                            <td colspan="2" align="left" class="tb"><select name="sex" id="sex">
                                <option value="1">男</option>
                                <option value="0">女</option>
                            </select></td>
                            <td width="323" class="tb" ><div id="bothlist">请选择你的性别!</div></td>
                            <td width="248" class="tb" >&nbsp;</td>
                          </tr>
                          <tr>
                            <td width="108" height="40" align="right">用户密码(<span class="style3"><span class="style1">*</span></span>):</td>
                            <td colspan="2" align="left"><input name="rpwd" type="password" id="rpwd" size="15"  onblur="checkuser();" /></td>
                            <td width="323" rowspan="2" id="divpwd" ><div id="bothlist">请填写您的密码,长度在6-10位之间!</div></td>
                            <td width="248" rowspan="2" id="divpwd" >&nbsp;</td>
                          </tr>
                          <tr>
                            <td width="108" height="40" align="right">再输入一次密码(<span class="style3"><span class="style1">*</span></span>):</td>
                            <td colspan="2" align="left"><input name="rpwd1" type="password" id="rpwd1" size="15" onblur="checkuser();" /></td>
                          </tr>
                          <tr class="tb">
                            <td width="108" height="40" align="right" class="tb">密码提示问题(<span class="style3"><span class="style1">*</span></span>):</td>
                            <td colspan="2" align="left" class="tb"><select name="safe" id="safe">
                                <option value="我最喜欢的动物是什么?">我最喜欢的动物是什么?</option>
                                <option value="我高中学校叫什么名字?">我高中学校叫什么名字?</option>
                                <option value="我女朋友的名字叫什么?">我女朋友的名字叫什么?</option>
                                <option value="我最喜欢的人是谁?">我最喜欢的人是谁?</option>
                            </select></td>
                            <td width="323" class="tb">&nbsp;</td>
                            <td width="248" class="tb">&nbsp;</td>
                          </tr>
                          <tr>
                            <td width="108" height="40" align="right">提示问题答案(<span class="style3"><span class="style1">*</span></span>):</td>
                            <td colspan="2" align="left"><input name="safean" type="text" id="safean" size="15"  onblur="checkuser();" /></td>
                            <td width="323" id="divda" ><div id="bothlist">请填写您的答案,找回密码需要确认.例如:我叫张三!</div></td>
                            <td width="248" id="divda" >&nbsp;</td>
                          </tr>
                          <tr class="tb">
                            <td width="108" height="40" align="right" class="tb">您的电子邮箱(<span class="style3"><span class="style1">*</span></span>):</td>
                            <td colspan="2" align="left" class="tb"><input name="email" type="text" id="email" size="15" onblur="checkuser();" /></td>
                            <td width="323" class="tb" id="divemail"><div id="bothlist">请正确填写你的邮箱地址!</div></td>
                            <td width="248" class="tb" id="divemail">&nbsp;</td>
                          </tr>
                          <tr>
                            <td width="108" height="40" align="right">验证码(<span class="style3"><span class="style1">*</span></span>):</td>
                            <td width="79" align="left"><input name="rver" type="text" id="rver" size="7"  onblur="checkuser();" /></td>
                            <td width="122" align="left"><img" width=100% src="/boke/blog/inc/verlog.php" onclick="this.src='/boke/blog/inc/verlog.php';" /><span class="read">点击图片刷新</span></td>
                            <td width="323" id="divyz"><div id="bothlist">请按左边的图输入验证码,如不清楚可点击图片刷新验证码!</div></td>
                            <td width="248" id="divyz">&nbsp;</td>
                          </tr>
                          <tr align="left">
                            <td width="108" height="40" class="tb">&nbsp;</td>
                            <td height="40" colspan="4" class="tb"><input name="cbox" type="checkbox" id="cbox" value="1" checked="checked" />
                                <span class="phperblog_photo style4"><a href="#" class="name">&lt;&lt;我同意本站服务条款&gt;&gt;</a></span></td>
                          </tr>
                          <tr>
                            <td width="108" height="40">&nbsp;</td>
                            <td height="40" colspan="2" align="left"><input name="imageField" type="image"" width=100% src="/boke/blog/Pic/an0159.gif" width="149" height="27" onclick=" return checkuser();" border="0" /></td>
                            <td width="323" height="40" align="left">&nbsp;</td>
                            <td width="248" align="left">&nbsp;</td>
                          </tr>
                                           <tr>
                            <td width="108" height="28">&nbsp;</td>
                            <td height="28" colspan="2">&nbsp;</td>
                            <td width="323" height="28">&nbsp;</td>
                            <td width="248">&nbsp;</td>
                          </tr>
                        </form>
          </table>

标签:[!--infotagslink--]

您可能感兴趣的文章: