织梦启用二级域名导致dedecms跨域无法登陆,js报错等问题的解决方法

织梦DedeCMS启用二级域名后 由于dedeajax2不能跨域所以使用ajax返回登录数据不能成功,ajax跨域实在是找不到比较好的方法所以暂时采用以下方法替代。

跨域访问机制:

在服务器上,同一个域中的文,,数据或者swf可以任意访问。若要跨域访问需被授权。注意不同域名即使映射到相同IP地址也会被看成两个域。IP地址名和通过解析的地址也被看作两个域。因此,本例,二级域名即使是同个IP,也被看成两个域。

第一步,在member文件夹处建立一个php文件,名字为“ajax_index_loginsta_s.php”,利用这个php文件作条件,$myurl是否为空来判断登陆状态。

第二步,给这个文件中填写的代码为:

<?php
require_once(dirname(__FILE__)."/config.php");
AjaxHead();
if($myurl == '')
{
echo "document.write('<div id=_userlogin>');";
echo "document.write('<form name=userlogin action=".$GLOBALS['cfg_cmsurl']."/member/index_do.php method=POST>');";
echo "document.write('<input type=hidden name=fmdo value=login />');";
echo "document.write('<input type=hidden name=dopost value=login />');";
echo "document.write('<input type=hidden name=keeptime value=604800 />');";
echo "document.write('<div class=s1>用户名</div><div class=s2><input type=text name=userid /></div> ');";
echo "document.write('<div class=s1>密码</div><div class=s2><input name=pwd type=password /></div> ');";
echo "document.write('<div class=s1>验证码</div><div class=s2 id=s2><input name=vdcode type=text maxlength=4 /></div>');";
echo "document.write('<div class=simg><img src=".$GLOBALS['cfg_cmsurl']."/include/vdimgck.php width=50 height=20 /></div><div class=s3><input type=submit value=登录 /> </div>');";
echo "document.write('<div class=s1><a href=".$GLOBALS['cfg_cmsurl']."/member/resetpassword.php target=_blank>忘记密码?</a> <a href=".$GLOBALS['cfg_cmsurl']."/member/index_do.php?fmdo=user&dopost=regnew target=_blank><font color=#FF0000>免费注册</font></a></div>');";
echo "document.write('</form></div>');";
exit('');
}
$uid = $cfg_ml->M_LoginID;
$face = $cfg_ml->fields['face'] == '' ? $GLOBALS['cfg_memberurl'].'/images/nopic.gif' : $cfg_ml->fields['face'];
echo "document.write('<div class=s5><b>".$cfg_ml->M_UserName."</b> 欢迎登陆XXXXXXXX!<a href=".$cfg_memberurl."/index.php>会员中心</a> | <a href=".$cfg_memberurl."/edit_fullinfo.php>帐户</a> | <a href=".$myurl.">我的Blog</a> | <a href=".$cfg_memberurl."/index_do.php?fmdo=login&dopost=exit><font color=#FF0000>退出登陆</font></a></div>');";
?>

适当的自己修改吧,我这个主要用在顶部登陆,所以都是横着放的。

第三步,把所有需要添加登陆的页面中增加一行代码:

<script language="javascript" type="text/javascript" src="http://你的域名/member/ajax_index_loginsta_s.php"></script>


标签:
本文来自:爱织梦(idedecms.com) 原文链接:https://www.idedecms.com/jiaocheng/139.html
上一篇:织梦DedeCMS实现按键盘方向键实现上一篇下一篇翻
下一篇:织梦DedeCMS利用自定义表单制作在线留言,在线报名
共有0人阅读,期待你的评论!发表评论
最新评论 (PS:骚年,觉得本站怎么样?上百度口碑给我们一个五星好评呗戳这里>>我看好你哟~!)