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.

avatar syecharbha
@syecharbha

44 Kontribusi 1 Poin

Diperbarui 6 tahun yang lalu

3 Jawaban:

Jawaban Terpilih

coba pake {{ csrf_field() }} copy code ini <pre> &lt;form action="/admin/lagu/create" method="post"&gt; &lt;table border="1"&gt; &lt;tr&gt; &lt;td&gt;Title&lt;/td&gt; &lt;td&gt;&lt;input id="title" type="text" name="title"&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Singer&lt;/td&gt; &lt;td&gt;&lt;input id="singer" type="text" name="singer"&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Arranger&lt;/td&gt; &lt;td&gt;&lt;input id="arranger" type="text" name="arranger"&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; {{ csrf_field() }} &lt;td colspan="2"&gt;&lt;input type="submit" value="Insert"&gt; &lt;button id="cancel" onclick="cancel()"&gt;Cancel&lt;/button&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;/form&gt; </pre>

avatar Nandar
@Nandar

648 Kontribusi 204 Poin

Dipost 6 tahun yang lalu

Cek di formnya gan, itu bkn action="post" Hrsnya method="post" trus tambahin csrf_field() kyk bro @nandar

avatar bosque
@bosque

187 Kontribusi 104 Poin

Dipost 6 tahun yang lalu

Ini laravel 5.7 Gan? Oiya untuk url nya sebaiknya pake fungsi url <pre> &lt;form action="{{url('/admin/lagu/create')}}" action="post"&gt; </pre> tapi gak tau juga sih ngefek atau enggak.

avatar devio
@devio

101 Kontribusi 46 Poin

Dipost 6 tahun yang lalu

Login untuk ikut Jawaban