dedecms 怎样做会员登录、注册、退出会员

dedecms 怎样做会员登录、注册、退出会员,第1张

你的版本是多少,解答如下:

方法一:(http://houdunwangcom/lessonhtml)

php 54没有session_register方法,所以需要在include/userloginclassphp中加入以下代码  

functionsession_register(){

    $args= func_get_args();

    foreach($argsas$key){

         $_SESSION[$key]=$GLOBALS[$key];

    }

}

方法二:

由于php 54没有session_register方法。

找开include/userloginclassphp文件,查找以下内容:

@session_register($this->keepUserIDTag);

$_SESSION[$this->keepUserIDTag] = $this->userID;

@session_register($this->keepUserTypeTag);

$_SESSION[$this->keepUserTypeTag] = $this->userType;

@session_register($this->keepUserChannelTag);

$_SESSION[$this->keepUserChannelTag] = $this->userChannel;

@session_register($this->keepUserNameTag);

$_SESSION[$this->keepUserNameTag] = $this->userName;

@session_register($this->keepUserPurviewTag);

$_SESSION[$this->keepUserPurviewTag] = $this->userPurview;

@session_register($this->keepAdminStyleTag);

$_SESSION[$this->keepAdminStyleTag] = $adminstyle;

PutCookie(‘DedeUserID’, $this->userID, 3600 24, ‘/’);

PutCookie(‘DedeLoginTime’, time(), 3600 24, ‘/’);

替换成

global $admincachefile,$adminstyle;

if(empty($adminstyle)) $adminstyle = ‘dedecms’;

//@session_register($this->keepUserIDTag);

$_SESSION[$this->keepUserIDTag] = $this->keepUserIDTag;

$_SESSION[$this->keepUserIDTag] = $this->userID;

//@session_register($this->keepUserTypeTag);

$_SESSION[$this->keepUserTypeTag] = $this->keepUserTypeTag;

$_SESSION[$this->keepUserTypeTag] = $this->userType;

// @session_register($this->keepUserChannelTag);

$_SESSION[$this->keepUserChannelTag] = $this->keepUserChannelTag;

$_SESSION[$this->keepUserChannelTag] = $this->userChannel;

//@session_register($this->keepUserNameTag);

$_SESSION[$this->keepUserNameTag] = $this->keepUserNameTag;

$_SESSION[$this->keepUserNameTag] = $this->userName;

//@session_register($this->keepUserPurviewTag);

$_SESSION[$this->keepUserPurviewTag] = $this->keepUserPurviewTag;

$_SESSION[$this->keepUserPurviewTag] = $this->userPurview;

// @session_register($this->keepAdminStyleTag);

$_SESSION[$this->keepAdminStyleTag] = $this->keepAdminStyleTag;

$_SESSION[$this->keepAdminStyleTag] = $adminstyle;

PutCookie(‘DedeUserID’, $this->userID, 3600 24, ‘/’);

PutCookie(‘DedeLoginTime’, time(), 3600 24, ‘/’);

方法三:

文件夹权限问题

验证码无法显示和自动登出的原因是因为date文件夹和date下面的sessions文件夹的写入权限没有!

Sessions是记录(传送)登入信息的文件夹, 它无法生成文件, 自然就无法登陆而跳转回来。

解决办法如下:

修改date和date下面的sessions文件夹的权限,(可以尝试在FLASHFXP上修改,但可能会造成失败)

所以建议直接在主机的控制面板里面修改date和sessions的权限为777(writen)

方法四:

重新安装dedecms然后用数据库备份还原数据库

方法五(本人所用):

phpini配置文件中

sessionbug_compat_42 = 1

sessionbug_compat_warn = 1

这是php430以后才有的安全设置。出于安全的考虑php不建议你打开register_globals开关但若关闭了register_globals(默认)时,session变量将不被自动转换成全局变量此时传统的session变量注册方式session_register就失去意义了(session_register是把一个全局变量注册成session变量),因为访问session变量需要使用$_SESSION数组。因此只需直接操作$_SESSION数组就可以了,而无须再用session_register注册了。以免产生混乱开关sessionbug_compat_42 和 sessionbug_compat_warn 就是为了检查此类情况而设置的

更多问题到问题求助专区(http://bbshoudunwangcom/)

自从用了dede之后感觉一切都挺好,就是有个很奇怪的事情,不知道同样用dede的童鞋有没有遇到的,登陆的时候老是出现“验证码不正确”的提示,输入第一次说不正确倒罢了,连续 输入四五次都这样的提示我就纳闷了,换了几个主流浏览器后发现,只有在IE浏览器可以正常登录后台,chrome和Firefox都无法登陆,当然像清楚网页缓存、删除COOKIES这种常规操作都是一次一次的去做了,都做了但还是登陆失败验证码不正确。

不知道IE浏览器有毛病还是什么的,用IE浏览器登陆到后台之后老是页面要停顿很久才可以点击页面,如果立即就去点,页面就会卡死,本来想着这样也就凑活,毕竟还可以登录进去后台去管理,就一直这么用着。

但是天不随人愿,今天正在后台进行操作的时候,又提示让登录,但是这次连在IE上都无法登录了,一直显示验证码不正确,气死人!

没办法,网站刚刚建好就无法进入后台无法进行网站更新和一些设置是一件很着急人的事,马上百度搜索下这个问题,既然也有很多人和我的这个情况差不错,用dede的人还挺多,说什么方法的人都有。

在这里大致的概括一下网上所提供的方法:

1、有人说取消验证码,也就是替换 loginphp中的if($validate==” || $validate != $svali)然后再改几个文件的相关模块(这个已经试过了不行,取消了验证码之后就陷入了死循环登录页面,然后这个问题就又在网上无解了……不知道说这个方法的人正真碰到过这个问题没有,还是问题有所不同)。

2、还有一种说法是用ftp进入你的dedecms程序空间,把data/session目录下除indexhtm外的其它session文件都删除,我试了,还是失败!

3、有人说是服务器配置问题,修改phpini 文件,但是当我终于找到了空间提供商,人家说服务器端不单独改东西的,因为出于安全考虑,所有的服务器端修改都禁用了,其实这也不能怪空间提供商,让我们自己想想也不可能因为你这一个小问题而去更改整个服务器的配置。

4、其实在刚开始还可以用IE登陆进去的时候我已经看到了在后台管理的“ 系统— 系统安全—把后台登陆前那个勾去掉“,以为这样就不用验证码了,结果我悲剧了,出现了像第一种说法一样的登录死循环页面然后我就只有把所有文件全删掉,然后重新安装了dede的程序,又重做(还好当初设置的东西还不是太多,损失不大)!

最终经过不断的寻找不断的更改终于找到了解决方法正常登陆了,下面就直接将这个方法公布出来,希望能帮到碰到同样问题的同学们。

方法是:使用FTP登录,修改dede57根目录下/data/sessions/文件夹权限修改为777,然后要应用于以下所有文件和文件夹,问题搞定!

原文链接:http://hibaiducom/%D3%EE%D5%B0%C9%CC%C3%B3%B9%AB%CB%BE/blog/item/c5d1ff392c0db7c3a2cc2bcdhtml

具体方法如下:

1、DedeCMS默认风格里,顶部左边有一段话"织梦CMS - 轻松建站从此开始!",很多朋友想把这段话修改成一个横向登录框,像织梦吧(dedecms8com)顶部一样。

2、打开头部公用模板文件templets/default/headhtm,找到如下汉字:

3、把上图里汉字,替换为如下代码:

<div id="_userlogin">

<form name="userlogin" action="{dede:globalcfg_memberurl/}/index_dophp" method="POST">

<input type="hidden" name="dopost" value="login" />

<span>用户名:</span>

<input type="text" name="userid" size="10" class="ipt-txt" />

<span>密码:</span>

<input type="密码" name="pwd" size="10" class="ipt-txt" />

{dede:php}

if(preg_match("#2#", $safe_gdopen)){

echo '

<span>验证码:</span>

<input type="text" name="vdcode" size="8" class="ipt-txt" />

<img id="vdimgck" align="absmiddle" style="cursor:pointer;margin-left:0px;text-transform:uppercase;" alt="看不清?点击更换" src="'$cfg_cmspath'/include/vdimgckphp"/>';}

{/dede:php}

<button type="submit" class="btn-1">登录</button>

<a href="{dede:globalcfg_memberurl/}/index_dophpfmdo=user&dopost=regnew" >注册账号</a> <a href="{dede:globalcfg_memberurl/}/reset密码php">忘记密码</a>

</form>

</div>

<script language="javascript" type="text/javascript">CheckLogin();</script>

  改后:

4、其实仅仅这段代码还不够,还需要完成下一步才能达到效果:

那么,我这里为什么没有加这段代码呢这是因为默认主页模板文件indexhtm里,已经包涵了这段代码。如果没有,或被自己删除了,请添加在indexhtm里之前。

打开member/ajax_loginstaphp文件,找到如下代码

5、上图红色框内的代码,即为登录成功后,返回用户信息。多数时候,我们的顶部导航没太宽的地方,以显示这些数据,所有完全没必要全部返回这些信息,可以适当减少几项,并且对div做美化,以达到美观体验。这里,简单做下调整,如下:

6、更新生成后,可以看到如下效果:

这样一个顶部横向登录框就制作完了。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » dedecms 怎样做会员登录、注册、退出会员

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情