Mengikuti video Guru Zhu "ThinkPHP5 Rapid Development of Enterprise Sites" untuk menulis kod, semasa menjalankan halaman admin_edit, ralat "indeks tatasusunan tidak ditentukan: is_update" saya tidak tahu cara menyelesaikannya untuk bantuan.
Kod pengawal Admin.php:
//Lakukan operasi kemas kini
kemas kini fungsi awam(Minta $request)
{
if ($request->isAjax(true)) {
//Get submission Data , secara automatik menapis nilai kosong
$data = array_filter($request->param());
//Tetapkan syarat kemas kini
$where = ['is_update' => ]];
//Kemas kini jadual pengguna
$hasil = AdminModel::kemas kini($data, $di mana);
//Mesej gesaan untuk kemas kini yang berjaya
;$status = .
$message = 'Kemas kini berjaya';gagal }
}
kembali ['status' => $status, 'message' => $message];
}
admin_edit.html kod (halaman html telah diuji dan selepas memadam kod logik pengawal , boleh berjalan seperti biasa):
{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>Nama log masuk
</label>
<div class="layui-input-inline">
<input type="text" id="username" name=" nama pengguna " required="" lay-verify="required" autocomplete="off" value="{$admin.username}"
class="layui-input" disabled>
</div>
< div class="layui-form-mid layui-word-aux">
<span class="x-red">*</span>Nama pengguna tidak boleh diubah suai
</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" required="" lay-verify="email" autocomplete="off" class="layui-input">
</div>
< ;div class="layui-form-mid layui-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>新密码
</label>
<div class="layui-input-inline">
<input type="password" id="password" name= "password" required="" lay-verify="password" autocomplete="off" class="layui-input"
value="123456" placeholder="密码">
</div>
< ;div class="layui-form-mid layui-word-aux">
6到12个字符
</div>
</div>
<
<! ->
<input type="hidden" name="id" value="{$Think.session.user_info.id}" lay-filter="id">
<input type="hidden " name="is_update" value="{$Think.session.user_info.is_update}" lay-filter="is_update">
<div class="layui-form-item">
<label untuk="kata laluan semula" class="layui-form-label">
</label>
<button class="layui-btn" lay-submit lay-filter="save" id= "btnSubmit">
保存
</butang>
</div>
</form>
</div>
</div> .use('form ', fungsi () {// $ = layui.jquery;var form = layui.form;// ,layer = layui.layer;//监听朎作 dalam borang. ('serahkan(simpan)', fungsi () {
Saya menemui punca ralat Kod untuk menyimpan Sesi semasa log masuk adalah seperti berikut: //Session::set('user_id', $userName);Session::set('user_info', $data);The di atas $data hanya Maklumat nama pengguna dan kata laluan pentadbir tidak termasuk maklumat medan seperti is_update Saya menukarnya kepada ini: //Session::set('user_id', $userName);Session::set('user_info. ', $admin); Nota: Tukar juga pengawal Base: define('USER_ID', Session::get('user_info.id'));