Я вхожу в свою бэкэнд-страницу, он получает ошибку. Имя пользователя и пароль не совпадают, но мой адрес электронной почты и пароль верны на MySQL сервере - PullRequest
0 голосов
/ 21 марта 2020

Я захожу на свою бэкэнд-страницу, он получает ошибку. Имя пользователя и пароль не совпадают, но мой электронный адрес и пароль верны на MySQL Сервере.

В чем проблема в моем коде? Почему я не захожу на мою страницу. Спасибо

AuthController. php

 namespace App\Http\Controllers;

 use App\Models\Block;

 use App\User;

 use Illuminate\Http\Request;

 use Illuminate\Support\Facades\Auth;

 use Session;

class AuthController extends Controller

{

    public function getLogin(){
        return view('login');
    }
    public function login(Request $request){
        // dd($request->all());

        if(  Auth::attempt(['email' => $request->email, 'password' => $request->password])){
                // login code here
                return redirect('/');
        }
        Session::flash('danger', 'Username and password does not match');
        return redirect('login');

        // login failed here


    }

}
'''

LoginBlade. php

'''
</head>
<body>

    <div class="limiter">
        <div class="container-login100">
            <div class="wrap-login100 p-l-55 p-r-55 p-t-65 p-b-50">
            <form class="login100-form validate-form" method="POST"  action="{{URL::to('login')}}">
                @csrf
                @include('backend.layouts.alerts')
                    <span class="login100-form-title p-b-33">
                        Account Login
                    </span>

                    <div class="wrap-input100 validate-input  @error('email') is-invalid @enderror " data-validate = "Valid email is required: valid@email.xyz">
                        <input class="input100" type="email" name="email" placeholder="Email" required>
                        <span class="focus-input100-1"></span>
                        <span class="focus-input100-2"></span>
                    </div>
                    @error('email')
                        <span class="invalid-feedback" role="alert">
                            <strong>{{ $message }}</strong>
                        </span>
                    @enderror

                    <div class="wrap-input100 rs1 validate-input" data-validate="Password is required" >
                        <input class="input100 @error('password') is-invalid @enderror" type="password" name="password" placeholder="Password"  required>
                        <span class="focus-input100-1"></span>
                        <span class="focus-input100-2"></span>
                    </div>
                    @error('password')
                        <span class="invalid-feedback" role="alert">
                            <strong>{{ $message }}</strong>
                        </span>
                    @enderror

                    <div class="container-login100-form-btn m-t-20">
                        <button class="login100-form-btn" value="submit">
                            Sign in
                        </button>
                    </div>
                </form>
            </div>
        </div>
    </div>

1 Ответ

0 голосов
/ 21 марта 2020

Код, который вы написали, не так уж и далек. Наиболее вероятный виновник проблемы, с которой вы столкнулись, это то, как вы регистрируете или создаете своего пользователя. Это будет работать, если где-то в вашем контроллере регистрации вы хэшируете пароль с помощью bcrypt () или Ha sh :: make ()


<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;


class AuthController extends Controller
{
    public function getLogin()
    {
        return view('login');
    }

    public function login(Request $request)
    {
        // validate your request
        $credentials = $request->validate([
            'email' => 'required|string',
            'password' => 'required|string',
        ]);

        if (auth()->attempt($credentials)) return redirect('/');

        return redirect('login')
            ->with('danger', 'Username and password does not match');
    }

    protected function register(Request $request)
    {
        // validate your request
        $data = $request->validate([
            'name' => 'required|string',
            'email' => 'required|string',
            'password' => 'required|string',
        ]);

        $user = User::create([
            'name' => $data['name'],
            'email' => $data['email'],
            'password' => bcrypt($data['password']),
        ]);

        auth()->login($user);

        return redirect('/');
    }
}

...