php - 未定义变量:id(查看:C:\xampp\htdocs\FYP\DigitalOPDATM\resources\views\pupdate.blade.php)
问题描述
执行更新查询时出现此错误。我的观点甚至没有运行。请帮忙。目前,我无法加载表格。此外,更新查询也需要工作。
这是我的视图文件,我在表单标记的操作中声明了 $id:
<form method ="post" action="{{url('/pupdate',$id)}}" class="login100-form validate-form flex-sb flex-w">
@CSRF
<span class="login100-form-title p-b-16">
Patient Update
</span>
<span class="txt1 p-b-11">
<br>Enter Username
</span>
<div class="wrap-input100 m-b-16">
<input class="input100" type="text" name="username" placeholder="Enter your name">
<span class="focus-input100"></span>
</div>
<span class="txt1 p-b-11">
Enter Email
</span>
<div class="wrap-input100 m-b-16" >
<input class="input100" type="email" name="email" >
<span class="focus-input100"></span>
</div>
<span class="txt1 p-b-11">
Enter CNIC
</span>
<div class="wrap-input100 m-b-16" >
<input class="input100" type="cnic" name="cnic" >
<span class="focus-input100"></span>
</div>
<span class="txt1 p-b-11">
Enter Password
</span>
<div class="wrap-input100 m-b-16" >
<input class="input100" type="password" name="password" >
<span class="focus-input100"></span>
</div>
<span class="txt1 p-b-11">
Confirm Password
</span>
<div class="wrap-input100 m-b-16" >
<input class="input100" type="password" name="confirmpassword" >
<span class="focus-input100"></span>
</div>
<div class="flex-sb-m w-full p-b-16">
<div class="contact100-form-checkbox">
<input class="input-checkbox100" id="ckb1" type="checkbox" name="remember-me">
<label class="label-checkbox100" for="ckb1">
Keep me signed in
</label>
</div>
</div>
<div class="container-login100-form-btn">
<button class="login100-form-btn bg-info" type="submit" name="action" value="SignUp">
Update
</button>
<a class="login50-form-btn" href="/" >
<button class="login100-form-btn" type="button" >
Home
</button>
</a>
</div>
</form>
这是我的控制器功能:
public function pup(Request $req,$id)
{
$update = patient_info::find($id);
$update->username = $req->username;
$update->email = $req->email;
$update->cnic = $req->cnic;
$update->password = $req->password;
$update->confirmpassword = $req->confirmpassword;
$update->save();
return redirect('/delpatient');
}
public function showup($id)
{
$update=patient_info::find($id);
return view('/pupdate',compact('pupdate','id'));
}
这是我的路线:
Route::post('/pudate{id}', 'AdminController@pup');
Route::get('showup{id}', 'AdminController@showup');
Route::get('/pupdate', function () {
return view('/pupdate');
});
这是我的注册患者表视图:
center><h1>Registered Patients</h1></center>
<form >
<table class="table table-bordered table-striped">
<tr class="bg-danger text-light">
<th>ID</th>
<th>User Name</th>
<th>Email</th>
<th>CNIC</th>
<th>Password</th>
<th>Confirm Password</th>
<th>Delete Patient Account</th>
<th>Update Patient Account</th>
</tr>
@foreach($regpat as $row)
<tr class="bg-secondary text-light">
<td>{{$row['id']}}</td>
<td>{{$row['username']}}</td>
<td>{{$row['email']}}</td>
<td>{{$row['cnic']}}</td>
<td>{{$row['password']}}</td>
<td>{{$row['confirmpassword']}}</td>
<td><a href="delp{{$row['id']}}" class="btn btn-danger ">Delete</a></td>
<td><a href="{{showp{{$row['id']}}" class="btn btn-primary ">Update</a></td>
</tr>
@endforeach
</table>
</form>
先感谢您!
解决方案
看这个
Route::post('/pudate/{id}', 'AdminController@pup');
Route::get('showup/{id}', 'AdminController@showup');
Route::get('/pupdate', function () {
// you should define $id here, because you're returning to /pupdate view without passing $id
return view('/pupdate');
});
如果您仍然卡住,请在下面的评论中输入(复制+粘贴)您当前的 URL
试试这个代码(下)
路线(web.php):
Route::resource('patients', App\Http\Controllers\PatientController::class);
控制器(PatientController.php):
<?php
namespace App\Http\Controllers;
use App\Models\patient_info;
use Illuminate\Http\Request;
class PatientController extends Controller
{
public function index()
{
$patients = patient_info::get();
// return view('TARGET', compact('patients'));
}
public function create()
{
}
public function store(Request $request)
{
$store = patient_info::create($request->all());
return redirect()->route('patients.index'); // or you can custom return in this line
}
public function show($id)
{
}
public function edit($id)
{
$patient = patient_info::where('id',$id)->first();
// return view('TARGET',compact('patient','id'));
}
public function update(Request $request, $id)
{
$update = patient_info::where('id',$id)->update($request->all());
return redirect()->route('patients.index'); // or you can custom return in this line
}
public function destroy($id)
{
$patient = patient_info::where('id',$id)->first();
$patient->delete();
return redirect()->route('patients.index'); // or you can custom return in this line
}
}
然后根据需要修改您的视图(如果您需要在 PatientController 调用 show 或 create 函数,您可以通过 href/action="{{ route('patients.show',$id) }} OR href/action=" {{ 路线('患者.创建')}}
推荐阅读
- node.js - 服务应该抛出异常?(网络 API)
- angular - catchError 上的拦截器中的无限循环
- java - 试图从只有一行的网站获取字符串
- python - 使用 sqlite OperationalError 创建函数:没有这样的列
- tensorflow - 在张量流中使用神经网络进行二进制分类无法学习
- r - Selenium 不再适用于 R
- spring-boot - JPA:多对多问题 - Spring Boot 项目
- javascript - 为什么 jQuery .one 函数只在向下滚动时起作用?
- javascript - 是否有更短的语法来有条件地设置对象中的属性?
- javascript - 在 HTML 中播放音频,源不工作