当前位置:首页 > CMS教程 > DeDecms > 列表

dedecms5.7商城系统无需登录注册即可订单购买程序修改

发布:smiling 来源: PHP粉丝网  添加日期:2019-03-05 16:25:54 浏览: 评论:0 

在做伤迪伤口网的时候,客户要求无需登录注册也可以下订单购买商品。这个网站是用dedecms5.7二次开发的,已经有很我地方被我小改过了,这下发现网站本身不带这功能,这又得改原程序了。

在官方论坛上也看到有人有这样子的需求,看了一下他们的问题也解决了,这里把他们的方法也贴出来。

第一个人的解决办法是这样子的,原文如下:

修改DEDE本身的订单程序,DEDE不就是要求注册会员才可以吗 ? 简单  那我现在注册一个公共会员 写死在程序中去 就是在用户名和密码字段我直接自动写了值 不就OK了吗 呵呵,当然如果你想智能一点 如果用户是会员 则用用户的会员号 否则就用默认的账号 也简单呀 JS呗 !!!

第二个人的解决办法原谅如下:

可以这样操作试一下 后台先开启会员功能 如果不希望有会员加入 可以禁止会员注册

然后找到plus/carbuyaction.php文件

删除以下代码

  1. //确认用户登录信息 
  2. if($cfg_ml->IsLogin()) 
  3.     $userid = $cfg_ml->M_ID; 
  4. else 
  5.     $username = trim($username); 
  6.     $password = trim($password); 
  7.      
  8.     if(emptyempty($username) || $password
  9.     { 
  10.         ShowMsg("请选登录!","-1",0,2000); 
  11.         exit(); 
  12.     } 
  13.      
  14.     $rs = $cfg_ml->CheckUser($username,$password); 
  15.     if($rs==0) 
  16.     { 
  17.         ShowMsg("用户名不存在!","-1",0,2000); 
  18.         exit(); 
  19.     } //phpfensi.com 
  20.     else if($rs==-1) 
  21.     { 
  22.         ShowMsg("密码错误!","-1",0,2000); 
  23.         exit(); 
  24.     } 
  25.     $userid = $cfg_ml->M_ID; 

在我这个网站中,这两个都不能完全解决问题,但是结合一下两个人的,正好符合我的要求。第一个人的思路中存在一个问题,就是“如果有人买了东西没有支付  后来的用户不是要一起支付了 能看到其它的未支付订单”,下面有人提出了这个质疑,不太理想。第二个人把那段代码删除后,那就是把用户登录的信息也没在订单中关联起来了,所以我们即要游客可以订单,会员也能购买。如是我作了如下修改:

/plus/carbuyaction.php的

  1. //确认用户登录信息 
  2. if($cfg_ml->IsLogin()) 
  3.     $userid = $cfg_ml->M_ID; 
  4. else 
  5.     $username = trim($username); 
  6.     $password = trim($password); 
  7.      
  8.     if(emptyempty($username) || $password
  9.     { 
  10.         ShowMsg("请选登录!","-1",0,2000); 
  11.         exit(); 
  12.     } 
  13.      
  14.     $rs = $cfg_ml->CheckUser($username,$password); 
  15.     if($rs==0) 
  16.     { 
  17.         ShowMsg("用户名不存在!","-1",0,2000); 
  18.         exit(); 
  19.     } 
  20.     else if($rs==-1) 
  21.     { 
  22.         ShowMsg("密码错误!","-1",0,2000); 
  23.         exit(); 
  24.     } 
  25.     $userid = $cfg_ml->M_ID; 

改为:

  1. //确认用户登录信息 
  2. if($cfg_ml->IsLogin()) 
  3.     $userid = $cfg_ml->M_ID; 
  4. else 
  5.     $username = trim($username); 
  6.     $password = trim($password); 
  7.      
  8.     if(emptyempty($username) || $password
  9.     { 
  10.         $userid = 0; 
  11.     } 
  12.     else 
  13.     { 
  14.         $rs = $cfg_ml->CheckUser($username,$password); 
  15.         if($rs==0) 
  16.         { 
  17.             ShowMsg("用户名不存在!","-1",0,2000); 
  18.             exit(); 
  19.         } 
  20.         else if($rs==-1) 
  21.         { 
  22.             ShowMsg("密码错误!","-1",0,2000); 
  23.             exit(); 
  24.         } 
  25.         $userid = $cfg_ml->M_ID; 
  26.     } 

修改的意思就是,如果用户没有登录,那我就把0赋值给 id,这样在后台只要看到是0下的订单,就是游客的。经目前测试,没发现问题。


Tags: dedecms5 7 登录注册

分享到: