项目更新操作

博客介绍了前台与控制器的操作要点。前台操作包括form表单编辑、判断编辑、保存修改按钮编辑及js使用,建议页面name值与数据库字段相同,还需引入layer.js。控制器操作方面,方法命名不能有大写字母,可用‘_’隔开,重写方法需在$beforeActionList中添加操作方法名。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前台操作

前台页面的 name 值 更改下 最好与数据库字段相同 方便操作不需要接收更改数据名字 直接接收

引入layer.js 放在
在这里插入图片描述

前台form表单编辑

   <form class="am-form am-form-horizontal" action="" id="form1" method="post">

前台判断编辑

 <if condition="empty($members['avatar'])">
     <img src="__TMPL__/public/assets/images/headicon_128.png" class="am-circle am-img-thumbnail" width="128"/>
<else/>
     <img src="{:cmf_get_user_avatar_url($members['avatar'])}?t={:time()}" class="am-circle am-img-thumbnail" width="128"/>
</if>

或者

<label class="am-radio-inline">
   	<input type="radio" name="sex" value="1" data-am-ucheck {$members.sex=='0'?'checked':''}> 男
</label>

前台保存修改按钮编辑

<div class="info-btn">
     <a class="am-btn am-btn-danger" href="#" onclick="submit()">
          保存修改
      </a>
 </div>

前台js

<block name="js">
    <script src="__TMPL__/portal/personal/personal/AmazeUI-2.4.2/assets/js/jquery.min.js" type="text/javascript"></script>
    <script src="__TMPL__/portal/personal/personal/js/layer/layer.js" type="text/javascript"></script>
    <script>
        function submit(){
            var area = $("#form1").serialize();
            $.post("{:url('portal/Personal/update_information')}", area, function (data) {
                // console.log(data);
                if (data.code == 1) {
                    layer.msg(data.msg,{icon:1,time:1000,shade:[0.6,'#000']},function () {
                        history.go(0);//shaxin
                    });
                }else{
                    layer.msg(data.msg,{icon:2,time:3000,shade:[0.6,'#000']},function () {
                        history.go(0);
                    })
                }
            }, "json");
        }
    </script>

</block>

控制器操作

控制器方法命名
控制器方法命名不能有大写字母 否则前置操作失效 (已尝试 ) 可以使用 ‘_’ 隔开

控制器重写方法怎么都行 如果重写方法 请在== $beforeActionList ==中添加上操作方法名

   //在控制器 controller中 搜索前置操作 查看定义规则
    protected  $beforeActionList=[
        'check_login'=>['only'=>'index,information,update_information,avatar,contract,cash_withdrawal,remittance,coupon,safety_index,safety_password,safety_change_password,safety_set_pay,safety_bind_phone,safety_id_card'],
    ];
//修改个人信息
    public function update_information(){
        //判断是否是 post方式提交数据
        if(request()->isPost()){
            //接收全部数据
            $data=request()->post();

            //实例化 Validate 验证  如果需要对应规则 在 validate/PersonalValidate中添加
            // 并设置对应场景 scene['场景名'=>'对应规则']
            $validate = new PersonalValidate();
            //选择对应场景 并判断 正确返回true 错误 返回false
            $result=$validate->scene('add')->check($data);
            //判断验证是否通过
            if($result!==true){
                //接收错误信息
                $res=$validate->getError();
                $this->error($res);
            }
            //获取当前登录前台用户id
            $id=cmf_get_current_user_id();
            //更新数据 返回
            $res=Db::name('user')->where('id',$id)->update($data);
            if ($res!==false){
                $this->success('信息更新成功');
            }elseif ($res===0){
                $this->error('信息未更改');
            }else{
                $this->error('信息编辑失败');
            }
        }
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值