【问题标题】:Can't obtain form data from request lumen无法从请求流明获取表单数据
【发布时间】:2018-01-06 09:05:05
【问题描述】:

我的应用中有一个用于登录的 html 表单。我不知道为什么我无法在我的控制器中获取我的请求中的表单内容。这是我的表格:

<div class="loginContainer">
        <form class="signin" method="post" action="/login">
        <input type="email" id="inputEmail" placeholder="Email" required="" autofocus="">
        <input type="password" id="inputPassword" placeholder="Password" required="">
        <button type="submit">Sign in</button>
        </form>
</div>

页面/login 重定向到显示这一行:

{"email":["邮箱为必填项。"],"password":["密码 必填字段。"]}

这是我的UsersController.php

<?php

namespace App\Http\Controllers;

use App\Http\Controllers\Controller;

use Illuminate\Support\Facades\Hash;

use Illuminate\Http\Request;

use App\Users;

use Log;

class UsersController extends Controller

{

    public function __construct()
    {
 //        $this->middleware('auth', ['only' => ['authenticate']]);
    }
    /**
    * Display a listing of the resource.
    *
    * @return \Illuminate\Http\Response
    */

    public function authenticate(Request $request)
    {

        Log::info("hiiidsfoiasjdfisa");
        Log::info($request->input('email'));
        Log::info($request->input('password'));
        Log::info(implode("|", $request->all()));
        $this->validate($request, [

            'email' => 'required',

            'password' => 'required'

        ]);

        $user = Users::where('email', $request->input('email'))->first();

        Log::info($user->password);
        Log::info($user->email);    
        if(Hash::check($request->input('password'), $user->password)){

            $apikey = base64_encode(str_random(40));
            Users::where('email', $request->input('email'))->update(['api_key' => "$apikey"]);;
            return response()->json(['status' => 'success','api_key' => $apikey]);
        }
        else
        {
            return response()->json(['status' => 'fail'],401);
        }
    }
}
?>

我尝试记录我的 $request 变量的内容,但它们在日志文件中都返回空。

请帮忙!

【问题讨论】:

  • 您不会在表单中使用名称属性进行输入。
  • @VincentDecaux 我才意识到这一点。我的表格现在正在工作。将其发布为答案,我会接受。

标签: php forms lumen


【解决方案1】:

只需为您的输入使用名称属性:

 <input type="email" name="email" id="inputEmail" placeholder="Email" required="" autofocus="">

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-11-09
    • 1970-01-01
    • 2020-08-30
    • 2014-05-19
    • 2014-12-08
    • 2019-09-27
    • 2018-05-01
    • 1970-01-01
    相关资源
    最近更新 更多