跟着朱老师的视频“ThinkPHP5快速开发企业站点”写代码,运行admin_edit页时,出现“未定义数组索引:is_update”的错误,不知道如何解决,特请教各位,谢谢!
Admin.php控制器代码:
//执行更新操作
public function update(Request $request)
{
if ($request->isAjax(true)) {
//获取提交的数据,自动过滤空值
$data = array_filter($request->param());
//设置更新条件
$where = ['is_update' => $data['is_update']];
//更新用户表
$result = AdminModel::update($data, $where);
//更新成功的提示信息
$status = 1;
$message = '更新成功';
//如果更新失败
if (is_null($result)) {
$status = 0;
$message = '更新失败';
}
}
return ['status' => $status, 'message' => $message];
}
admin_edit.html代码(html页面经测试,删除控制器逻辑代码后,能正常运行):
{layout name="public/layout" /}
layui.use('form', function () {
// $ = layui.jquery;
var form = layui.form;
// ,layer = layui.layer;
//自定义验证规则
form.verify({
password: [/(.+){6,12}$/, '密码必须6到12位']
});
//监听提交
form.on('submit(save)', function () {
$.ajax({
type: 'POST',
url: "{:url('admin/update')}",
data: $(".layui-form").serialize(),
dataType: "json",
success: function (data) {
if (data.status == 1) {
layer.msg(JSON.stringify(data.message), {icon:6,time:2000}, function() {
// 获得frame索引
var index = parent.layer.getFrameIndex(window.name);
//关闭当前frame
parent.layer.close(index);
});
} else {
layer.msg(JSON.stringify(data.message), {icon:5,time:2000});
}
}
});
return false;
});
});
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
找到出错原因了,实例在登录时保存Session的代码是这样的://Session::set('user_id', $userName);Session::set('user_info', $data);上面的$data只有admin的用户名和密码信息,并不包含is_update等字段信息,我将它改成这样://Session::set('user_id', $userName);Session::set('user_info', $admin);Bug消失。注:Base控制器也改一下:define('USER_ID', Session::get('user_info.id'));