【问题标题】:i am getting error when i am fetching user data from database in laravel through API当我通过 API 从 laravel 中的数据库中获取用户数据时出现错误
【发布时间】:2020-06-02 07:21:03
【问题描述】:

Hello Guys 现在正在研究 laravel api,一切都很完美,只是我面临的一个问题是,当我输入错误的用户名和密码时,我能够获取用户数据,但是当我输入正确的用户信息时,我遇到了异常,那就是无效证件。请帮帮我

这是我的模型代码

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class email extends Model
{
    protected $table = 'users';
}

& 这是我的控制器代码

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use App\email;

class EmailController extends Controller
{
   public function databyemail(Request $request){   
       $data = email::where('email', $request->email)->first();  
       if($data->password === bcrypt($request->password)) 
       {
           return response()->json($data);
       } 
       else
       {      
           return response()->json(['error' => 'Incorrect credentials!']);  
           } 
           }

} 

【问题讨论】:

    标签: php mysql laravel api fetch-api


    【解决方案1】:

    你能不能试试Hash::check的方法来匹配密码。

    <?php
    
    namespace App\Http\Controllers;
    
    use Illuminate\Http\Request;
    use Hash;
    use App\email;
    
    class EmailController extends Controller
    {
       public function databyemail(Request $request){   
            $data = email::where('email', $request->email)->first(); 
    
    
            if( Hash::check( $request->password, $data->password ) ) {
                return response()->json($data);
            }else{
                return response()->json(['error' => 'Incorrect credentials!']);  
            }
        }
    }
    

    【讨论】:

    • @MuhammadSajidLakha 我认为您还有另一个问题。你的 laravel 版本是什么?首先,在匹配密码之前尝试dd($data)。并检查是否获取用户数据?
    • @MuhammadSajidLakha 您应该在控制器类之前添加Use Hash;
    • email)->first(); if($data->password === bcrypt($request->password)) { return response()->json($data); } else { return response()->json(['error' => '不正确的凭据!']); } } }
    • 我的laravel版本是5.7
    • @MuhammadSajidLakha 我已经更新了我的答案。如果发生任何错误,请添加完整的错误状态。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-10-07
    • 2021-06-12
    • 2016-12-11
    • 2017-05-07
    • 1970-01-01
    • 2021-10-06
    • 2016-07-19
    相关资源
    最近更新 更多