//[原创]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"> <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"> </td>
<td width="248"> </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" > </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" > </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" > </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"> </td>
<td width="248" class="tb"> </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" > </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"> </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"> </td>
</tr>
<tr align="left">
<td width="108" height="40" class="tb"> </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"><<我同意本站服务条款>></a></span></td>
</tr>
<tr>
<td width="108" height="40"> </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"> </td>
<td width="248" align="left"> </td>
</tr>
<tr>
<td width="108" height="28"> </td>
<td height="28" colspan="2"> </td>
<td width="323" height="28"> </td>
<td width="248"> </td>
</tr>
</form>
</table>