Emlog实现非插件实现用户注册的方法

2014-10-13 / 8 评论 / 15323 阅读

本方法适合于喜欢DIY博客或DIY模板的博主,先在模板中建立一个文件(ps:最好是先复制原模板中的pege.php文件,更改一下文件名就可以了,舍力以zhuce.php为例)

第一步:在新建的zhuce.php中找到<?php echo $log_content; ?>把它替换成如下代码

<?php echo $log_content; ?><table align="center">
<form action="" method="post" name="reg" id="reg" onsubmit="return checkReg();">
<tr><td align="right">用户名:</td><td><input name="username" class="usr" >* 必填,大于等于5位</td></tr>
<tr><td align="right">密码:</td><td><input name="password" type="password">* 必填,大于等于5位</td></tr>
<tr><td align="right">重复密码:</td><td><input name="password2" type="password"></td></tr>
<tr><td align="right">验证码:</td><td><input name="imgcode" type="text" class="imgcode"><img src="<?php echo BLOG_URL; ?>include/lib/checkcode.php" width="80" id="yzcode" /></td></tr>
<tr><td align="right"></td><td><input type="submit" value="确认注册" class="rbtn"> <input type="reset" value="重置" class="rbtn"></td></tr>
<tr><td><a href="admin/" title="前往登录">已有账号,前往登陆?</a></td></tr>
</form></table>
<?php
session_start();
!defined('EMLOG_ROOT') && exit('access deined!');
 if(ROLE == 'admin' || ROLE == 'writer'){header('Location:'.BLOG_URL.'admin/');}
global $CACHE;
$options_cache = $CACHE->readCache('options');
$DB = MySql::getInstance();
$username = isset($_POST['username']) ? addslashes(trim($_POST['username'])) : '';
$password = isset($_POST['password']) ? addslashes(trim($_POST['password'])) : '';
$password2 = isset($_POST['password2']) ? addslashes(trim($_POST['password2'])) : '';
$imgcode = isset($_POST['imgcode']) ? strtoupper(addslashes(trim($_POST['imgcode']))): '';
if($username && $password && $password2 && $imgcode ){
$sessionCode = isset($_SESSION['code']) ? $_SESSION['code'] : '';
//echo $sessionCode;
if($imgcode == $sessionCode){
$User_Model = new User_Model();
if(!$User_Model -> isUserExist($username)){
$hsPWD = new PasswordHash(8, true);
$password = $hsPWD->HashPassword($password);
$User_Model->addUser($username, $password, 'writer', 'y');
$CACHE->updateCache();
echo'<script>alert("注册成功!"); window.location.href="'.BLOG_URL.'admin/"</script>';
}else{echo'<script>alert("用户名已存在!");</script>';}
}else{echo'<script>alert("验证码错误!");</script>';}}
?>
<script type="text/javascript">
function checkReg(){
var usrName = $("input[name=username]").val().replace(/(^\s*)|(\s*$)/g, "");
var pwd = $("input[name=password]").val().replace(/(^\s*)|(\s*$)/g, "");
var pwd2 = $("input[name=password2]").val().replace(/(^\s*)|(\s*$)/g, "");
var yzm = $("input[name=imgcode]").val().replace(/(^\s*)|(\s*$)/g, "");
if(usrName.match(/\s/) || pwd.match(/\s/)){alert("用户名和密码中不能有空格");return false;}
if(usrName == '' || pwd == '' || yzm == ''){alert("用户名、密码、验证码都不能为空!");return false;}
if(usrName.length < 5 || pwd.length < 5){alert("用户名和密码都不能小于5位!");return false;}
else if(pwd != pwd2){alert("两次输入密码不相等!");return false;}
}
$(function(){$("#imginfo").click(function(){
//alert('haha');
$("img#yzcode").attr("src", "<?php echo BLOG_URL;?>include/lib/checkcode.php?"+Math.random());
});
})
</script>

第二步:新建一个页面

后台-->>页面-->>新建页面-->>填写页面名称(如:用户注册)-->> 修改页面模板为zhuce-->>发布-->>完成。

评论一下?

OωO
取消
    1. 头像
      棉花糖
      板凳
      站长大大,能不能用户注册后不让他进后台,而是联合另一个代码(登陆后才能查看文章)使用
      主要作用户统计调查。
      谢谢!
      回复
      1. 头像
        寒月博客
        @棉花糖:虽然能用,但不漂亮
        hyblog.top/zhuce.html
        回复
    1. 头像
      wys.me
      沙发
      试了一下,不得行啊??
      回复
      1. 头像
        舍力
        @wys.me:请按步骤测试,本教程一切正常!
        回复
      1. 头像
        wys.me
        @舍力:嗯,确实可以。是我自己没严格按要求。现在好了。谢谢分享这个好方法!
        回复
      1. 头像
        做到更好
        @舍力:你好,这个用户注册的方法,5.3版本一直提示验证码错误,能帮我看看什么原因吗?谢谢了!
        回复
      1. 头像
        舍力
        @做到更好:去掉验证码验证就可以了
        回复
      1. 头像
        做到更好
        @舍力:好的,谢谢了!