From 8c5d46cfa5e188476abd7050bd5ec03ca185ddb5 Mon Sep 17 00:00:00 2001 From: 64160295 <99470276+Forsaksa@users.noreply.github.com> Date: Fri, 7 Apr 2023 19:53:04 +0700 Subject: [PATCH] update login , member --- app/Http/Controllers/LoginController.php | 68 ++++++++++++++++--- app/Models/Member.php | 26 +++++++ .../migrations/2023_04_06_033755_member.php | 1 + resources/views/Admin/v_admin_home.blade.php | 2 +- resources/views/Login/v_Login.blade.php | 9 ++- .../views/Member/v_member_home.blade.php | 5 +- routes/web.php | 8 +-- 7 files changed, 102 insertions(+), 17 deletions(-) create mode 100644 app/Models/Member.php diff --git a/app/Http/Controllers/LoginController.php b/app/Http/Controllers/LoginController.php index b8954545..bbe874fa 100644 --- a/app/Http/Controllers/LoginController.php +++ b/app/Http/Controllers/LoginController.php @@ -7,6 +7,8 @@ use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\DB; +use App\Models\Member; + class LoginController extends Controller { /** @@ -17,13 +19,14 @@ class LoginController extends Controller * * @throws \Illuminate\Validation\ValidationException */ - public function login(Request $request) + + /* public function login(Request $request) { $id_card = $request->input('id_card'); $pass = $request->input('pass'); //print_r($request->input()); - $user = DB::table('users') - ->where('email', $id_card)->where('password', $pass)->first(); + $user = DB::table('Member')->select('mem_type') + ->where('mem_id_card', $id_card)->where('password', $pass)->first(); //$user = collect(DB::select('SELECT * FROM users WHERE email = ? and password = ?' , [$id_card, $pass]))->first(); // สำหรับ Insert @@ -31,13 +34,62 @@ public function login(Request $request) // [$id_card, $id_card, $pass]); //USER_TYPE decision - if($user->password == '1'){ - return view('Login/Login1',); + if ($user->mem_type == 1) { + // User is admin (user_type = 1) + return redirect('/Admin_home'); + } elseif ($user->mem_type == 0) { + // User is regular user (user_type = 0) + return redirect('/Member_home'); + } else { + // Authentication failed + return back()->withErrors([ + 'username' => 'Invalid username or password', + ]); } - elseif($user->password == '2'){ - return view('Login/Login2'); + + } */ + + public function login(Request $request) + { + if(session_status() == PHP_SESSION_NONE){ + session_start(); //เริ่มใช้ Session } - // return view('Login/Login2',compact('id_card','pass')); + $id_card = $request->input('id_card'); + $pass = $request->input('pass'); + + + //ดึง Class Function จาก Model Member + $auth = new Member(); + $user = $auth->login_auth($id_card, $pass); //เรียกใช้ Function จาก Model Member + $request->session()->put('mem_type', $user->mem_type); + $request->session()->put('mem_id_card', $user->mem_id_card); + $aa['aaa']= $request->session()->get('mem_type'); + $request->session()->put('mem_status', $user->mem_status); + + + // $request->session()->put('mem_type', ); + + // $user_id = $request->session()->get('mem_type'); + //$_SESSION['mem_type'] = $user->mem_type; // Set ค่าเข้า Session + + //echo $request->session()->get('mem_id_card'); // ใช้สำหรับดูค่าใช้อันไหนก็ได้ + //return $user; // ใช้สำหรับดูค่า */ + + // ดึงค่าจากตัวแปร user ชี้เข้าไปหา mem_type เพื่อใช้ค่าจาก mem_type + if ($request->session()->get('mem_type') == 1) { + // User is admin (user_type = 1) + return redirect('/Admin_home'); + } else if ($request->session()->get('mem_type') == 0) { + // User is regular user (user_type = 0) + // return redirect('/Member_home',['name' => 'James']); + // return view('mem_type', ['name' => 'James']); + return view('/Member_home'); + } else if ($user->mem_type == null){ + // Authentication failed + return back()->withErrors([ + 'username' => 'Invalid username or password', + ]); + } } } diff --git a/app/Models/Member.php b/app/Models/Member.php new file mode 100644 index 00000000..d4c3b79e --- /dev/null +++ b/app/Models/Member.php @@ -0,0 +1,26 @@ +<?php + +namespace App\Models; + +use Illuminate\Database\Eloquent\Factories\HasFactory; +use Illuminate\Database\Eloquent\Model; +use Illuminate\Support\Facades\DB; +use Illuminate\Http\Request; + +class Member extends Model + +{ + use HasFactory; + + //Function Login Authentication + public function login_auth($id_card, $pass){ + + $user = DB::table('Member')->select('mem_id_card','mem_type', 'mem_fname_th', 'mem_lname_th', 'mem_status') // Query ข้อมูลจาก Database + ->where('mem_id_card', $id_card)->where('password', $pass)->first(); + + + return $user; + } + + +} diff --git a/database/migrations/2023_04_06_033755_member.php b/database/migrations/2023_04_06_033755_member.php index 8c1c1e3b..9b412333 100644 --- a/database/migrations/2023_04_06_033755_member.php +++ b/database/migrations/2023_04_06_033755_member.php @@ -32,6 +32,7 @@ public function up() $table->integer('mem_type')->default(0); $table->integer('mem_status')->default(0); $table->integer('mem_balance'); + $table->string('password')->nullable(false); }); } diff --git a/resources/views/Admin/v_admin_home.blade.php b/resources/views/Admin/v_admin_home.blade.php index a12f4e63..7410cd81 100644 --- a/resources/views/Admin/v_admin_home.blade.php +++ b/resources/views/Admin/v_admin_home.blade.php @@ -6,7 +6,7 @@ <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> - <title>CSA</title> + <title>AdminHome</title> </head> <body> diff --git a/resources/views/Login/v_Login.blade.php b/resources/views/Login/v_Login.blade.php index 4312e1f5..118a3f4c 100644 --- a/resources/views/Login/v_Login.blade.php +++ b/resources/views/Login/v_Login.blade.php @@ -26,20 +26,23 @@ <div class="centered"> <img src="image\lawyerscouncil.png" alt="Avatar man"> </div> + <form method="POST" action="{{url('/login_auth')}}"> + @csrf <div class="login-position"> <h2 class="font" style="font-size: 30px;">เข้าสู่ระบบ</h2> <div class="div-between" style=> - <div><input type="text" class="input-resize" class="form-control" placeholder="Username" + <div><input type="text" name="id_card" class="input-resize" class="form-control" placeholder="Username" aria-label="Username" aria-describedby="basic-addon1" style="width: 400px; height:35px ;"> </div> - <div><input type="password" class="input-resize" class="form-control" placeholder="Password" + <div><input type="password" name="pass" class="input-resize" class="form-control" placeholder="Password" aria-label="Passwords " aria-describedby="basic-addon1" style="width: 400px; height:35px ;"> </div> - <div><a href="/"><button class="button-register" class="button-resize" type="button">Login</button></a> + <div><button class="button-register" class="button-resize" type="submit" >Login</button> </div> </div> </div> + </form> </body> </html> diff --git a/resources/views/Member/v_member_home.blade.php b/resources/views/Member/v_member_home.blade.php index eafcd744..64fc6d29 100644 --- a/resources/views/Member/v_member_home.blade.php +++ b/resources/views/Member/v_member_home.blade.php @@ -14,12 +14,15 @@ <link href="https://fonts.googleapis.com/css2?family=Kanit:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800&display=swap" rel="stylesheet"> - <title>CSA</title> + <title>Member Home</title> </head> <body> + <div class="container"> <h1 class="head-tranfer">แจ้งหลักฐานการเติมเงิน</h1> + <h1>Hello, </h1> + <p>Name: {{ $aaa }}</p> </div><br> <div class="container"><br> <div class="card"> diff --git a/routes/web.php b/routes/web.php index ccc48d2f..8b43ec8d 100644 --- a/routes/web.php +++ b/routes/web.php @@ -24,7 +24,8 @@ Route::get('/Login',function () { return view('Login/v_Login'); })->name('Login'); - +Route::post('/login_auth', +[App\Http\Controllers\LoginController::class,'login'])->name('login-auth'); /* */ @@ -49,9 +50,8 @@ Route::get('/A',function () { return view('R/A'); }); -Route::post('/login_auth',[App\Http\Controllers\LoginController::class,'login'])->name('login'); -// Route::post('/login', [App\Http\Controllers\LoginController::class, 'login'])->name('login.post'); -Route::post('/login', [App\Http\Controllers\LoginController::class, 'login']); + + -- GitLab