정의되지 않은 배열 인덱스: is_update
流金岁月
流金岁月 2018-06-16 22:03:27
0
2
1443

주 선생님의 영상 "ThinkPHP5 기업용 사이트의 신속한 개발"에 이어 admin_edit 페이지 실행 시 "정의되지 않은 배열 인덱스: is_update" 오류가 나타나는데 어떻게 해결해야 할지 모르겠습니다. 도움을 주셔서 감사합니다!

Admin.php 컨트롤러 코드:

//업데이트 작업 수행

공용 함수 업데이트($request 요청)

{

if ($request->isAjax(true)) {

//제출 데이터 가져오기 , 빈 값을 자동으로 필터링

$data = array_filter($request->param());


//업데이트 조건 설정

$where = ['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" /}


<div class="x-body">

<form class="layui-form">

<div class="layui-form-item">

<label for="username" class="layui-form-label">

<span class="x-red"> ; *</span>로그인 이름

</label>

<div class="layui-input-inline">

<input type="text" id="username" name=" 사용자 이름 " 필수=""lay-verify="required" autocomplete="off" value="{$admin.username}"

class="layui-input" 비활성화됨>

</div>

< div class="layui-form-midlayui-word-aux">

<span class="x-red">*</span>사용자 이름을 수정할 수 없습니다

</div>

< ;/div>

<div class="layui-form-item">

<label for="L_email" class="layui-form-label">

<span class=" x -red">*</span>Mailbox

</label>

<div class="layui-input-inline">

<input type="text" value="{ $ admin.email}" id="email" name="email" 필수=""lay-verify="email" autocomplete="off" class="layui-input">

</div>

< ;div class="layui-form-midlayui-word-aux">

<span class="x-red">*</span>

</div>

< /div>

<div class="layui-form-item">

<label for="L_pass" class="layui-form-label">

<span class="x-red" >*</span>new密码

</label>

<div class="layui-input-inline">

<input type="password" id="password" name= "password" 필수=""lay-verify="password" autocomplete="off" class="layui-input"

value="123456" placeholder="密码">

</div>

< ;div class="layui-form-midlayui-word-aux">

6到12个字符

</div>

</div>

<!--添加隐藏字段- ->

<input type="hidden" name="id" value="{$Think.session.user_info.id}"lay-filter="id">

<input type="숨김 " name="is_update" value="{$Think.session.user_info.is_update}"lay-filter="is_update">


<div class="layui-form-item">

<label for="repassword" class="layui-form-label">

</label>

<button class="layui-btn"lay-submitlay-filter="save" id= "btnSubmit">

保存

</button>

</div>

</form>

</div>

<script>

layui.use('form ', 함수() {

// $ =layui.jquery;

var form =layui.form;

// ,layer =layui.layer;


//自정义验证规则

form .verify({

password: [/(.+){6,12}$/, '密码必须6到12位']

});


//监听提交

form.on ('제출(저장)', function () {

$.ajax({

type: 'POST',

url: "{:url('admin/update')}",

data: $ (".layui-form").serialize(),

dataType: "json",

success: 함수(데이터) {

if (data.status == 1) {

layer.msg(JSON. stringify(data.message), {icon:6,time:2000}, function() {

// 获得frame索引

var index = parent.layer.getFrameIndex(window.name);

//关闭当前프레임

parent.layer.close(index);

});

} else {

layer.msg(JSON.stringify(data.message), {icon:5,time:2000});

}

}

});

return false;

});

});

</script>



流金岁月
流金岁月

모든 응답(1)
流金岁月

오류 원인을 찾아보니 로그인 시 Session을 저장하는 코드는 다음과 같습니다. //Session::set('user_id', $userName);Session::set('user_info', $data);The 위의 $data는 admin의 사용자 이름과 비밀번호 정보에만 is_update와 같은 필드 정보가 포함되어 있지 않습니다. //Session::set('user_id', $userName);Session::set('user_info) ', $admin); 버그가 사라집니다. 참고: 기본 컨트롤러도 변경하세요. 정의('USER_ID', Session::get('user_info.id'));

  • 회신하다 다행스럽게도 그 이유를 알게 되었습니다. 그렇지 않았다면 이 코드를 읽는 데 오랜 시간이 걸렸을 것입니다.
    ringa_lee 작가 2018-06-18 21:50:07
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!