我想更新註冊表單數據。所以,起初我爲表演數據創建了一個表格。在這張表中,我包含了一個ViewForUpdate按鈕,並且已經通過了Id。當我單擊該ViewForUpdate按鈕時,它會在另一個頁面中正確顯示唯一的數據。當我輸入的新數據,當我點擊更新按鈕,它顯示了這個錯誤 -如何解決Laravel中的數據更新錯誤
MethodNotAllowedHttpException
那麼,如何解決這個問題?
這裏是RegViewUpdate.blade.php文件
<html>
<head>
<body>
<form action="edit{{$users[0]->id}}" method="post" enctype="multipart/form-data">
{{ method_field('PUT') }}
{{ csrf_field() }}
<div class="form-group">
<label>Name : *</label>
<input type="text" class="form-control" name="name" value="{{$users[0]->name}}" required>
</div>
<div class="form-group">
<label>Username : *</label>
<input type="text" class="form-control" name="username" value="{{$users[0]->username}}" required>
</div>
<div class="form-group">
<label>Password : *</label>
<input type="password" class="form-control" name="password" value="{{$users[0]->pw}}" required>
</div>
<div class="form-group">
<label>Upload Profile Picture :</label>
<input type="file" class="form-control-file" name="file_img" aria-describedby="fileHelp">
<small id="fileHelp" class="form-text text-muted">If U Want , U Can Skip Upload A Profile Picture</small>
</div>
<input type="submit" class="btn btn-primary" name="submit" value="Update">
</form>
</body>
</html>
這裏是RegViewController.php文件
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use DB;
class RegViewController extends Controller
{
public function index()
{
return view('RegView');
}
public function show($id) {
$users = DB::select('select * from academic where id = ?',[$id]);
return view('RegViewUpdate',['users'=>$users]);
}
public function edit(Request $request, $id)
{
$name = $request->input('name');
DB::update('update academic set name = ? where id = ?',[$name,$id]);
echo "Record updated successfully.<br/>";
}
}
這裏是我所創建的路線。
Route::get('edit/{id}','[email protected]');
Route::post('edit{id}','[email protected]');
academic
表結構。
它不適用於action =「edit/{{$ users [0] - > id}}」我刪除了斜槓。現在它正在工作。告訴我一個成功的消息。但是,當我檢查數據庫時,它會顯示更新前的舊數據。這意味着仍然不會更新我的數據。如何解決這個問題? –
它只更新由於原始代碼的名稱字段,是否確定名稱字段是相同的? –
是的,即使它顯示成功的消息後,名稱字段也是相同的。 –