热门标签 | 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标记中,保存,登陆下看看,你的登陆框是否正常显示了。

推荐阅读
  • 在springmvc框架中,前台ajax调用方法,对图片批量下载,如何弹出提示保存位置选框?Controller方法 ... [详细]
  • PHP图片截取方法及应用实例
    本文介绍了使用PHP动态切割JPEG图片的方法,并提供了应用实例,包括截取视频图、提取文章内容中的图片地址、裁切图片等问题。详细介绍了相关的PHP函数和参数的使用,以及图片切割的具体步骤。同时,还提供了一些注意事项和优化建议。通过本文的学习,读者可以掌握PHP图片截取的技巧,实现自己的需求。 ... [详细]
  • 本文介绍了前端人员必须知道的三个问题,即前端都做哪些事、前端都需要哪些技术,以及前端的发展阶段。初级阶段包括HTML、CSS、JavaScript和jQuery的基础知识。进阶阶段涵盖了面向对象编程、响应式设计、Ajax、HTML5等新兴技术。高级阶段包括架构基础、模块化开发、预编译和前沿规范等内容。此外,还介绍了一些后端服务,如Node.js。 ... [详细]
  • 本文介绍了如何使用jQuery和AJAX来实现动态更新两个div的方法。通过调用PHP文件并返回JSON字符串,可以将不同的文本分别插入到两个div中,从而实现页面的动态更新。 ... [详细]
  • 本文介绍了DataTables插件的官方网站以及其基本特点和使用方法,包括分页处理、数据过滤、数据排序、数据类型检测、列宽度自动适应、CSS定制样式、隐藏列等功能。同时还介绍了其易用性、可扩展性和灵活性,以及国际化和动态创建表格的功能。此外,还提供了参数初始化和延迟加载的示例代码。 ... [详细]
  • Allegro总结:1.防焊层(SolderMask):又称绿油层,PCB非布线层,用于制成丝网印板,将不需要焊接的地方涂上防焊剂.在防焊层上预留的焊盘大小要比实际的焊盘大一些,其差值一般 ... [详细]
  • 前言:关于跨域CORS1.没有跨域时,ajax默认是带cookie的2.跨域时,两种解决方案:1)服务器端在filter中配置详情:http:blog.csdn.netwzl002 ... [详细]
  • 我将SpringMVC升级到Spring3.2.5.我的一些剩余调用即使存在,也会返回无法识别的字段异常.这是错误.Resolvingexceptionfrom ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • PHP玩家基地系统毕业设计(附源码、运行环境)的用户登录界面、游戏管理和玩家作品管理
    本文介绍了一个PHP玩家基地系统的毕业设计,包括用户登录界面、游戏管理和玩家作品管理等功能。附带源码和运行环境,并提供免费赠送本源代码和数据库的方式,请私信获取详细信息。摘要共计约XXX字。 ... [详细]
  • Monkey《大话移动——Android与iOS应用测试指南》的预购信息发布啦!
    Monkey《大话移动——Android与iOS应用测试指南》的预购信息已经发布,可以在京东和当当网进行预购。感谢几位大牛给出的书评,并呼吁大家的支持。明天京东的链接也将发布。 ... [详细]
  • 本文介绍了《中秋夜作》的翻译及原文赏析,以及诗人当代钱钟书的背景和特点。通过对诗歌的解读,揭示了其中蕴含的情感和意境。 ... [详细]
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • HDU 2372 El Dorado(DP)的最长上升子序列长度求解方法
    本文介绍了解决HDU 2372 El Dorado问题的一种动态规划方法,通过循环k的方式求解最长上升子序列的长度。具体实现过程包括初始化dp数组、读取数列、计算最长上升子序列长度等步骤。 ... [详细]
  • 本文介绍了在微店中如何修改分销产品的价格以及设置价格的方法。客户在拍下商品后,在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社区 版权所有