#php #laravel
#php #laravel
Вопрос:
У меня возникает эта ошибка при выполнении запроса на обновление. Мое представление даже не запущено. Пожалуйста, помогите. В настоящее время я не могу загрузить форму. Кроме того, запрос на обновление также должен работать.
Это мой файл просмотра, здесь я объявил $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>
amp;nbsp; amp;nbsp; amp;nbsp;
<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>
Заранее благодарю вас!
Ответ №1:
посмотрите на это
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', AppHttpControllersPatientController::class);
контроллер (PatientController.php ):
<?php
namespace AppHttpControllers;
use AppModelspatient_info;
use IlluminateHttpRequest;
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
}
}
затем измените свое представление так, как вам нужно (если вам нужно вызвать функцию show ИЛИ create в PatientController, вы можете сделать это с помощью href/action=»{{ route(‘patients.show’,$id) }} ИЛИ href/action=»{{ route(‘patients.create’)}}
Комментарии:
1. Сэр, как я могу определить $id здесь, не могли бы вы, пожалуйста, направить меня.
2.если вы все еще застряли, пожалуйста, укажите (скопируйте вставьте) ваш текущий URL-адрес в комментарии ниже
3. ах, я понимаю, пожалуйста, подождите
4. Хорошо, конечно, сэр. 🙂
5. Большое спасибо, сэр.