代码之家  ›  专栏  ›  技术社区  ›  Flame of udun

无法从请求流明获取表单数据

  •  0
  • Flame of udun  · 技术社区  · 9 年前

    <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”:[“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 变量,但它们在日志文件中都返回空。

    1 回复  |  直到 9 年前
        1
  •  -1
  •   Vincent Decaux    9 年前

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

     <input type="email" name="email" id="inputEmail" placeholder="Email" required="" autofocus="">
    
    推荐文章