feat: implement login logic and make login page dynamic
This commit is contained in:
@@ -3,7 +3,11 @@
|
|||||||
namespace App\Http\Controllers\Auth;
|
namespace App\Http\Controllers\Auth;
|
||||||
|
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
|
use App\Http\Requests\Auth\LoginPostRequest;
|
||||||
|
use App\Models\User;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
|
use Illuminate\Support\Facades\Auth;
|
||||||
|
use Illuminate\Support\Facades\Hash;
|
||||||
|
|
||||||
class LoginController extends Controller
|
class LoginController extends Controller
|
||||||
{
|
{
|
||||||
@@ -15,8 +19,24 @@ class LoginController extends Controller
|
|||||||
return view('auth.login' , compact('title' , 'withOutHeader' , 'withOutFooter'));
|
return view('auth.login' , compact('title' , 'withOutHeader' , 'withOutFooter'));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function post()
|
public function post(LoginPostRequest $request)
|
||||||
{
|
{
|
||||||
|
$user = User::where('email' , '=' , $request->input('email'))
|
||||||
|
->first();
|
||||||
|
|
||||||
|
if (!$user) {
|
||||||
|
return back()->withErrors([
|
||||||
|
'general' => 'اطلاعات کاربری یافت نشد.'
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
if (!Hash::check($request->input('password'), $user->password)){
|
||||||
|
return back()->withErrors([
|
||||||
|
'general' => 'اطلاعات کاربری اشتباه است.'
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
Auth::login($user);
|
||||||
|
|
||||||
|
return redirect()->route('index');
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ class LoginPostRequest extends FormRequest
|
|||||||
*/
|
*/
|
||||||
public function authorize(): bool
|
public function authorize(): bool
|
||||||
{
|
{
|
||||||
return false;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -23,7 +23,18 @@ class LoginPostRequest extends FormRequest
|
|||||||
public function rules(): array
|
public function rules(): array
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
//
|
'email' => [
|
||||||
|
'required',
|
||||||
|
'email',
|
||||||
|
'max:150',
|
||||||
|
|
||||||
|
],
|
||||||
|
'password' => [
|
||||||
|
'required',
|
||||||
|
'min:8',
|
||||||
|
'max:255',
|
||||||
|
'alpha_num',
|
||||||
|
]
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,25 +16,37 @@
|
|||||||
<div class="login-area py-120">
|
<div class="login-area py-120">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<div class="col-md-5 mx-auto">
|
<div class="col-md-5 mx-auto">
|
||||||
|
@if ($errors->has('general'))
|
||||||
|
<span style="color: red">
|
||||||
|
{{ $errors->first('general') }}
|
||||||
|
</span>
|
||||||
|
@endif
|
||||||
<div class="login-form">
|
<div class="login-form">
|
||||||
<div class="login-header">
|
<div class="login-header">
|
||||||
<img src="assets/img/logo/logo-dark.png" alt>
|
<img src="assets/img/logo/logo-dark.png" alt>
|
||||||
<p>با حساب MyTrip خود وارد شوید</p>
|
<p>با حساب MyTrip خود وارد شوید</p>
|
||||||
</div>
|
</div>
|
||||||
<form action="#">
|
<form action="{{route('auth.login.post')}}" method="post">
|
||||||
|
@csrf
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label>آدرس ایمیل</label>
|
<label>آدرس ایمیل</label>
|
||||||
<div class="form-group-icon">
|
<div class="form-group-icon">
|
||||||
<input type="email" class="form-control" placeholder="ایمیل خود را وارد کنید">
|
<input type="email" name="email" class="form-control" placeholder="ایمیل خود را وارد کنید" value="{{old('email')}}">
|
||||||
<i class="far fa-envelope"></i>
|
<i class="far fa-envelope"></i>
|
||||||
</div>
|
</div>
|
||||||
|
@error('email')
|
||||||
|
<span style="color: red">{{$message}}</span>
|
||||||
|
@enderror
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label>رمز عبور</label>
|
<label>رمز عبور</label>
|
||||||
<div class="form-group-icon">
|
<div class="form-group-icon">
|
||||||
<input type="password" class="form-control" placeholder="رمز عبور را وارد کنید">
|
<input type="password" name="password" class="form-control" placeholder="رمز عبور را وارد کنید">
|
||||||
<i class="far fa-lock"></i>
|
<i class="far fa-lock"></i>
|
||||||
</div>
|
</div>
|
||||||
|
@error('password')
|
||||||
|
<span style="color: red">{{$message}}</span>
|
||||||
|
@enderror
|
||||||
</div>
|
</div>
|
||||||
<div class="d-flex justify-content-between mb-3">
|
<div class="d-flex justify-content-between mb-3">
|
||||||
<div class="form-check">
|
<div class="form-check">
|
||||||
@@ -51,11 +63,7 @@
|
|||||||
</form>
|
</form>
|
||||||
<div class="login-footer">
|
<div class="login-footer">
|
||||||
<div class="login-divider"><span>یا</span></div>
|
<div class="login-divider"><span>یا</span></div>
|
||||||
<div class="social-login">
|
<p>اکانت ندارید ؟ <a href="{{route('auth.register.index')}}">عضو شدن.</a></p>
|
||||||
<a href="#" class="btn-fb"><i class="fab fa-facebook"></i> ورود با فیسبوک</a>
|
|
||||||
<a href="#" class="btn-gl"><i class="fab fa-google"></i> ورود با گوگل</a>
|
|
||||||
</div>
|
|
||||||
<p>اکانت ندارید ؟ <a href="register.html">عضو شدن.</a></p>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user