Postingan lainnya
Proses create data gagal
selamat siang semuanya. saya baru saja membuat sebuah proses input data sederhana sebagai percobaan. tanpa menggunakan resource controller, yg berarti semua fungsi dari setiap proses dibuat secara manual.
tapi saat melakukan proses input, data tidak tersimpan ke database, melainkan data tersebut masuk ke link yang ada di browser.
ini code controller untuk input datanya :
function lagucreate(){
return view('admin.create');
}
function actlagucreate(Request $request){
$song = new song;
$song->operator_id = session('id');
$song->title = $request->title;
$song->singer = $request->singer;
$song->arranger = $request->arranger;
$song->save();
return redirect()->route('/admin/lagu')->with('create', 'New song inserted!');
}
ini view form inputnya :
<html>
<title>New Song</title>
<body>
<center>
@include('flash-message')
<h2>Insert New Song</h2>
<p><a href="/logout">LOGOUT</a> | <a href="/admin/lagu">LIST LAGU</a> | <a href="/admin/lagu/create">INSERT</a></p>
<form action="/admin/lagu/create" action="post">
@csrf
<table border="1">
<tr>
<td>Title</td>
<td><input id="title" type="text" name="title"></td>
</tr>
<tr>
<td>Singer</td>
<td><input id="singer" type="text" name="singer"></td>
</tr>
<tr>
<td>Arranger</td>
<td><input id="arranger" type="text" name="arranger"></td>
</tr>
<tr>
<td colspan="2"><input type="submit" value="Insert"> <button id="cancel" onclick="cancel()">Cancel</button></td>
</tr>
</table>
</form>
</center>
<script>
function cancel(){
var title = document.getElementById("title");
var singer = document.getElementById("singer");
var arranger = document.getElementById("arranger");
arranger.value="";
singer.value="";
title.value="";
}
</script>
</body>
</html>
ini route nya :
Route::get('/', 'HomeController@home');
Route::get('/login', 'HomeController@login');
Route::post('/login', 'HomeController@actlogin');
Route::get('/register', 'HomeController@register');
Route::post('/register', 'HomeController@actregister');
Route::get('/admin/dashboard', 'HomeController@admin');
Route::get('/admin/lagu', 'HomeController@laguadmin');
Route::get('/admin/lagu/create', 'HomeController@lagucreate');
Route::post('/admin/lagu/create', 'HomeController@actlagucreate');
Route::get('/user/dashboard', 'HomeController@user');
Route::get('/logout', 'HomeController@logout');
mohon bantuan secepatnya gan. terima kasih.
3 Jawaban:
Jawaban Terpilih
coba pake {{ csrf_field() }} copy code ini <pre> <form action="/admin/lagu/create" method="post"> <table border="1"> <tr> <td>Title</td> <td><input id="title" type="text" name="title"></td> </tr> <tr> <td>Singer</td> <td><input id="singer" type="text" name="singer"></td> </tr> <tr> <td>Arranger</td> <td><input id="arranger" type="text" name="arranger"></td> </tr> <tr> {{ csrf_field() }} <td colspan="2"><input type="submit" value="Insert"> <button id="cancel" onclick="cancel()">Cancel</button></td> </tr> </table> </form> </pre>
Cek di formnya gan, itu bkn action="post" Hrsnya method="post" trus tambahin csrf_field() kyk bro @nandar
Ini laravel 5.7 Gan? Oiya untuk url nya sebaiknya pake fungsi url <pre> <form action="{{url('/admin/lagu/create')}}" action="post"> </pre> tapi gak tau juga sih ngefek atau enggak.