【问题标题】:laravel post is not workinglaravel 帖子不工作
【发布时间】:2016-07-18 06:15:14
【问题描述】:

我正在开发一个简单的 laravel 项目,其中用户有一个注册页面。为此,我使用了两种方法 register(get 方法)和 postregister(post 方法)。 我的代码:

public function register() {

    return view ( 'auth/register' );
}
public function postregister(Request $req) {

dd("sowmya");
    $user = new User ();
    $user->name = $req->get ( 'username' );
    $user->email = $req->get ( 'email' );
    dd($user);
    $user->password = Hash::make ( $req->get ( 'password' ) );
    $user->remember_token = $req->get ( '_token' );

    $user->save ();

    return redirect ( '/login' );
}

Get 方法工作正常。但提交表单后,post 方法没有调用。即使我尝试打印 dd("hii") 但未显示。有人可以帮我吗?

           @extends('layout') @section('content')<style>
            <style>
             nav {
               visibility: hidden;
             }
           </style>
         <h3 style="margin-top: 70px;" align="center">Signup Page</h3>

         <div class="container">
              <div class="row">
                <div class="register is-Responsive"
                    style="background-color: rgba(0, 0, 0, 0.3)">
           <div id="logo-container"></div>
           <div class="col-sm-12 col-md-10 col-md-offset-1">
            <form action="/register" id="loginForm" method="post">
                @if (count($errors) > 0)
                <div class="alert alert-danger">
                    <ul>
                        @foreach ($errors->all() as $error)
                        <li>{{ $error }}</li> @endforeach
                    </ul>
                </div>
                @endif {!! csrf_field() !!}
                <div class="form-group input-group">
                    <span class="input-group-addon"><i class="fa fa-user"></i></i></span>
                    <input class="form-control" type="text" name='username'
                        placeholder="username" />
                </div>

                <div class="form-group input-group">
                    <span class="input-group-addon"><i class="fa fa-envelope"></i></span>
                    <input class="form-control" type="email" name='email'
                        placeholder="email" />
                </div>
                <div class="form-group input-group">
                    <span class="input-group-addon"><i class="fa fa-key"></i></span> <input
                        class="form-control" type="password" name='password'
                        placeholder="password" />
                </div>
                <div class="form-group input-group">
                    <span class="input-group-addon"><i class="fa fa-key"></i></span> <input
                        class="form-control" type="password" name='password_confirmation'
                        placeholder="confirm password" />
                </div>
                <div class="checkbox">
                    <label> <input type="checkbox"> I agree to the <a href="#">Terms
                            and Conditions</a>
                    </label>
                </div>
                <div class="form-group">
                    <button type="submit" class="btn btn-def btn-block">Signup</button>
                </div>

            </form>
        </div>
    </div>
</div>

@endsection

【问题讨论】:

  • 您在发布请求期间是否在表单中发送了 csrf?
  • 你也可以发布你的 HTML 代码吗...
  • Route::group ( [ 'middleware' => [ 'web' ] ], function () { Route::get ( '/', 'LoginController@index' ); Route::get ('/register', 'LoginController@register'); Route::post ('/register', 'LoginController@postregister'); Route::get ('/dashboard', 'LoginController@dashboard'); });这是我的路线

标签: php laravel post


【解决方案1】:

正常情况下,没有中间件,

路线:

Route::post ( '/register', 'LoginController@postregister' );

在视图中:

<form action="{{ URL::to('/register') }}" method="post"></form>

在登录控制器中:

public function postregister(Request $req) 
{
print_r("Came here");die;
}

将按钮标签改为输入:

<input type="submit" value="Submit" class="btn btn-def btn-block"></input>

在你的表单中添加这个:

<input type="hidden" name="_token" value="{{ csrf_token() }}">

试试这个。祝你好运。

【讨论】:

  • thnku ...但我尝试了这个...以前的代码工作过。突然,它从过去 3 天开始无法工作......我不知道问题是什么......
  • no ...当我提交表单时 ..user 没有保存在 db 中 .. 并且凭据作为 get 方法显示在 url 中
  • 将您的按钮标签更改为注册表单上的输入标签。
  • 嘿,帖子网址是否正确地发挥作用?你检查了吗?我认为它会按照获取请求进行。那是 url 上的 y,数据正在显示。
  • 我只给出了正确的 url..但它作为一个获取请求..localhost:8000/… 这是我提交表单的 url。我不知道问题出在哪里
猜你喜欢
  • 1970-01-01
  • 2013-02-15
  • 1970-01-01
  • 2017-07-27
  • 2019-01-26
  • 2014-09-09
  • 2014-10-04
  • 2017-05-02
  • 1970-01-01
相关资源
最近更新 更多