支持的方法:GET、HEAD 但不支持 POST

Supported methods: GET, HEAD but not POST

我想将模态表单中的数据保存到我的数据库中。我使用的模态是来自 Bootstrap 的模态。我将它放在 main.blade.php 中,并使用没有 -r 的 artisan 创建了一个 AuthControler。并在 web.php 中添加一条新路线。如果你问我为什么没有很好地使用 php artisan make:auth,那是因为在我的 HTML 中编辑整个代码更加复杂,我已经从第一次 IMO 开始了。

main.blade.php

{{-- modal register  --}}
<div id="modal-register" class="modal fade">
    <div class="modal-dialog modal-register">
        <div class="modal-content">
            <form method="post" action="">
                <div class="modal-header">
                    @csrf
                    <h4 class="modal-title">Register</h4>
                    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
                </div>
                <div class="modal-body">
                    <div class="form-group">
                        <label>Nama Lengkap</label>
                        <input type="text" name="name" id="input-name" class="form-control" required="required">
                    </div>
                    <div class="form-group">

                        <label>Email</label>
                        <input type="email" name="email" id="input-email" class="form-control" required="required"
                               placeholder="ex:abcdefg@gmail.com">
                    </div>

                    <div class="form-group">
                        <div class="clearfix">
                            <label>Password</label>
                            <input type="password" name="password" id="input-password" class="form-control"
                                   required="required">
                        </div>
                    </div>

                    <div class="form-group">
                        <div class="clearfix">
                            <label>Konfirmasi Password</label>
                            <input type="password" name="password-confirmation" id="input-password" class="form-control"
                                   required="required" placeholder="Masukkan kembali password anda">
                        </div>
                    </div>

                </div>
                <div class="modal-footer">
                    <input type="submit" class="btn btn-primary pull-right service-btn" value="Register">
                </div>
            </form>
        </div>
    </div>
</div>
{{-- modal register end  --}}

AuthController.php

class AuthController extends Controller
{
    public function getRegister()
    {
        return view('Register');
    }

    public function postRegister(Request $request)
    {
        dd('ok');
    }

    public function getLogin()
    {
        return view('login');
    }

    public function postLogin(Request $request)
    {
    }
}

web.php

// register
route::get('/register','AuthController@getRegister');
route::post('/register','AuthController@postRegister');

// login
route::get('/login','AuthController@getLogin');
route::post('/login','AuthController@postLogin');

首先为您的表单设置操作:

<form method="post" action="{{ url('register') }}">

最好只使用 post 方法进行注册,但如果您同时想要 post 和 get,请将路线更改为:

route::match(['get', 'post'], '/register','AuthController@postRegister');

另请参阅:link

您的表单没有设置操作,因此它将使用当前的 URL。

<form method="post" action="">

action 设置为您希望将表单发布到的位置:

<form method="post" action="{{ url('register') }}">

您错过了表单中的 put 路由

随便说一下

<form method="post" action="{{ url('register') }}">