热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

dedecms中修改登陆框的方法

dedecms的登陆框使用了AJAX技术,简单的说,这个技术嘛就是不用刷新就可以更改页面的内容,新手更改登陆也不需要了解太多。往往大家更改登陆框的时候会发现,当用户登陆之后,又回到了原先那个奇丑无比的登陆界面,这是为何?下面我们引入一些基本的代码,
dedecms的登陆框使用了AJAX技术,简单的说,这个技术嘛就是不用刷新就可以更改页面的内容,新手更改登陆也不需要了解太多。
往往大家更改登陆框的时候会发现,当用户登陆之后,又回到了原先那个奇丑无比的登陆界面,这是为何?

下面我们引入一些基本的代码,先拿官方发布的模板做研究:
这是首页模板(index.htm),我们别的先不做研究,就单单来看登陆这块:
  
  
  
   























用户名:
密 码:
验证码:

















这里是一个表格形式的登陆框,我们来分析下,可以看出,网页会自动执行Javascript语句,执行CheckLogin();过程,我们再来看模板文件顶部

这个就是CheckLogin();过程这段的意思是首先获得一个ID为_loginform,然后通过ajax将{dede:global name="cfg_memberurl"/}/loginsta.php中的文件替换进去,在这里就是将代码中的 部分进行替换,所以这里我们知道了,要更改这个登陆文件,必须修改/member/loginsta.php这个文件,我们将其打开:
发现下面这些代码:
header("Pragma:no-cache\r\n");
header("Cache-Control:no-cache\r\n");
header("Expires:0\r\n");
header("Content-Type: text/html; charset=gb2312");
require_once(dirname(__FILE__)."/config_space.php");
require_once(dirname(__FILE__)."/../include/inc_memberlogin.php");
$cfg_ml = new MemberLogin();
if(empty($cfg_ml->M_ID)){ echo ""; exit(); }
$uid = $cfg_ml->M_LoginID;
$dsql = new DedeSql(false);
$spaceInfos = $dsql->GetOne("Select ID,uname,spacename,spaceimage,sex,c1,c2,spaceshow,logintime,news From [url=mailto:dede_member]dede_member[/url] where userid='$uid'; ");
if(!is_array($spaceInfos)){
$dsql->Close(); echo ""; exit();
}
$dsql->Close();
foreach( $spaceInfos as $k=>$v){if(ereg("[^0-9]",$k)) $$k = $v; }
if($spaceimage==''){
if($sex=='女') $spaceimage = $cfg_memberurl.'/img/dfgril.gif';
else $spaceimage = $cfg_memberurl.'/img/dfboy.gif';
}  //这段代码我们不用管他,这个对我们的修改登陆框没有直接影响,不要动他就可以了,主要是下面的修改
?>
bgColor=#333333 border=0>



  
  
   
  
        
   
  
  
   
  
  
   
  
      class=white>你好,欢迎_M_UserName?>
      
[我的留言]  [我的收藏]  [发表文章]
[发表文章]  [我的空间]

在这里就需要介绍点小知识,关于PHP的,PHP是一种编程语言,和ASP一样,功能非常强大,咱们的DEDECMS就是用PHP编写的,每种网络编程语言都有自己的标识符,搞过ASP的站长都知道,<%  %>这个中间写ASP的代码,在PHP中他的标识符就是上面红色粗体标记 这个中间放PHP代码,这个代码段子里语句意思还是比较简单的,所以上面表格中嵌入的PHP标记到时候会自动解析为相应的字符,通过名称,以及超链接名字我们可以很简单将他们对应起来,比如第一个:
你好,欢迎_M_UserName?>
这里的$cfg_ml->M_UserName就是存储用户名的变量,我们按照同样的方法将以下的代码进行整理。
当我们设计了一个新的登陆框之后,首先在代码的 部分加上Javascript语句:

然后,设计登陆框,将登陆框内容放置在一个ID='_loginform'的标记中,这里我们就用 这个
按后我们再设计一个登陆后显示的效果,并且连接指向我们上面标记中的东西,然后把这些内容覆盖到/member/loginsta.php的HTML标记中,保存,登陆下看看,你的登陆框是否正常显示了。

推荐阅读
  • PHP 编程疑难解析与知识点汇总
    本文详细解答了 PHP 编程中的常见问题,并提供了丰富的代码示例和解决方案,帮助开发者更好地理解和应用 PHP 知识。 ... [详细]
  • 本文详细介绍了如何使用PHP检测AJAX请求,通过分析预定义服务器变量来判断请求是否来自XMLHttpRequest。此方法简单实用,适用于各种Web开发场景。 ... [详细]
  • 探讨了如何解决Ajax请求响应时间过长的问题。本文分析了一个从服务器获取少量数据的Ajax请求,尽管服务器已经对JSON响应进行了缓存,但实际响应时间仍然不稳定。 ... [详细]
  • 当unique验证运到图片上传时
    2019独角兽企业重金招聘Python工程师标准model:public$imageFile;publicfunctionrules(){return[[[na ... [详细]
  • 一个登陆界面
    预览截图html部分123456789101112用户登入1314邮箱名称邮箱为空15密码密码为空16登 ... [详细]
  • 本文探讨了2019年前端技术的发展趋势,包括工具化、配置化和泛前端化等方面,并提供了详细的学习路线和职业规划建议。 ... [详细]
  • 理解文档对象模型(DOM)
    本文介绍了文档对象模型(DOM)的基本概念,包括其作为HTML文档的节点树结构,以及如何通过JavaScript操作DOM来实现网页的动态交互。 ... [详细]
  • 本文深入探讨了JavaScript中实现继承的四种常见方法,包括原型链继承、构造函数继承、组合继承和寄生组合继承。对于正在学习或从事Web前端开发的技术人员来说,理解这些继承模式对于提高代码质量和维护性至关重要。 ... [详细]
  • 本文将详细介绍如何在ThinkPHP6框架中实现多数据库的部署,包括读写分离的策略,以及如何通过负载均衡和MySQL同步技术优化数据库性能。 ... [详细]
  • 深入分析十大PHP开发框架
    随着PHP技术的发展,各类开发框架层出不穷,成为了开发者们热议的话题。本文将详细介绍并对比十款主流的PHP开发框架,旨在帮助开发者根据自身需求选择最合适的工具。 ... [详细]
  • Microsoft即将发布WPF/E的CTP(Community Technology Preview)和SDK,标志着RIA(Rich Internet Application)技术的新里程碑。更多详情及下载链接请参见MSDN官方页面。 ... [详细]
  • 1函数1.1函数的定义  设xxx和yyy是两个变量,D,icod ... [详细]
  • 使用Numpy实现无外部库依赖的双线性插值图像缩放
    本文介绍如何仅使用Numpy库,通过双线性插值方法实现图像的高效缩放,避免了对OpenCV等图像处理库的依赖。文中详细解释了算法原理,并提供了完整的代码示例。 ... [详细]
  • 深入理解父组件与子组件的引用和访问
    本文详细介绍了如何在Vue.js中通过$children和$refs属性实现父组件对子组件的访问,并提供了具体的代码示例及最佳实践。 ... [详细]
  • LeetCode 540:有序数组中的唯一元素
    来源:力扣(LeetCode),链接:https://leetcode-cn.com/problems/single-element-in-a-sorted-array。题目要求在仅包含整数的有序数组中,找到唯一出现一次的元素,并确保算法的时间复杂度为 O(log n) 和空间复杂度为 O(1)。 ... [详细]
author-avatar
白纸鹤u8_fw7
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有