【问题标题】:Why my form is not sending data with POST in Laravel?为什么我的表单在 Laravel 中没有使用 POST 发送数据?
【发布时间】:2014-12-12 07:22:49
【问题描述】:

我正在使用 Laravel 创建我的登录页面

我想用 POST 方法发送我的登录表单数据,但不工作

// /view/login.blade.php
/*
{{ Form::open([
    "route" => "user/login",
    "autocomplete" => "off",
    'method' => 'POST'
]) }}
    {{ Form::label("username", "Usuário:") }}
    {{ Form::text("username", Input::old("username"), [
        "placeholder" => "john.smith"
    ]) }}
    {{ Form::label("password", "Senha:") }}
    {{ Form::password("password", [
        "placeholder" => "*******"
    ]) }}
    {{ Form::submit("Entrar") }}
{{ Form::close() }}

//---------------------------------------
// routes.php
Route::any( '/', [
"as" => "user/login",
    "uses" => "UserController@loginAction"
] );

//---------------------------------------
// /controllers/UserController.php
class UserController extends Controller
{
    public function loginAction()
    {
        echo Input::server( "REQUEST_METHOD" );  // This line is ever print "GET"
        return View::make( 'user/login' );
    }
}*/

[代码已编辑]

// view/login.blade.php
<form action="{{URL::to('/')}}" method="post">
    <input name="login" type="text"/><br/>
    <input type="password" name="senha" id=""/><br/>
    {{ Form::submit('Enviar') }}
</form>

// routes.php
Route::any('/', function()
{
    echo Request::getMethod();   is returning GET forever
    return View::make( 'login' );
});

显然,我的表单将使用 POST 方法发送数据,但我永远无法在 $_POST 中获取它们,为什么?

【问题讨论】:

    标签: laravel laravel-4 request laravel-form


    【解决方案1】:

    你应该使用:

    Input::all()
    

    获取所有数据

    Input::get('username')Input::get('password')等获取选定数据。

    【讨论】:

    • 是的,我可以用 GET 获取数据,但是为什么 POST 方法不起作用?
    • @Lai32290 使用此方法获得的所有数据,包括 GET 和 POST。
    • 我已经简化了我的代码,只是为了测试,但是我的 echo Request::getMethod();曾经返回 GET,为什么?
    猜你喜欢
    • 2021-09-22
    • 1970-01-01
    • 2022-12-19
    • 2011-10-09
    • 2022-11-19
    • 2018-03-27
    • 2017-07-06
    • 2018-10-11
    • 2011-09-17
    相关资源
    最近更新 更多