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

时间:2019-11-28 07:17:36

标签: php laravel web laravel-6

我想将模式形式的数据保存到数据库中。我使用的模式是来自Bootstrap的模式。我将其放置在main.blade.php中,并使用没有-r的工匠创建了AuthControler。并在web.php中添加一条新路由。如果您问为什么我不能很好地使用php artisan make:auth,那是因为从我第一次IMO编写HTML到编辑整个代码就更加复杂了。

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');

3 个答案:

答案 0 :(得分:4)

首先为表单设置操作:

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

最好只使用post方法进行注册,但是如果您想同时发布并更改路线至:

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

另请参阅:link

答案 1 :(得分:2)

您的表单未设置任何操作,因此它将使用当前URL。

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

action设置为要将表单过帐到的位置:

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

答案 2 :(得分:1)

您错过了表单中的放置路线

只说

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