Skip to content
Snippets Groups Projects
Commit cdf6a6a3 authored by SARPCAN ERCAN's avatar SARPCAN ERCAN :hourglass_flowing_sand:
Browse files

Session middleware fix

parent eb65c25f
No related merge requests found
......@@ -15,7 +15,7 @@ class UserController extends Controller
*/
public function signin(Request $request)
{
return view('signin', ['message' => $request->session()->get("message") ?? null]);
return view('signin')->with('message', $request->session()->get("message") ?? null);
}
/**
* Show the signup page
......@@ -25,7 +25,7 @@ class UserController extends Controller
*/
public function signup(Request $request)
{
return view('signup', ['message' => $request->session()->get("message") ?? null]);
return view('signup')->with('message', $request->session()->get("message") ?? null);
}
/**
* Show the formpassword page
......@@ -35,7 +35,7 @@ class UserController extends Controller
*/
public function formpassword(Request $request)
{
return view('formpassword', ['message' => $request->session()->get("message") ?? null]);
return view('formpassword')->with('message', $request->session()->get("message") ?? null);
}
/**
* Show the account page
......@@ -45,8 +45,7 @@ class UserController extends Controller
*/
public function account(Request $request)
{
return view('account', ['message' => $request->session()->get("message") ?? null, 'user' => $request->session()->get("user")]);
return view('account', ['message' => $request->session()->get("message") ?? null, 'user' => $request->session()->get("user")]);
}
/**
......@@ -63,9 +62,9 @@ class UserController extends Controller
public function authenticate(Request $request)
{
$request->session()->start();
if (empty($request->input('login')) || empty($request->input('password'))) {
$request->session()['message'] = "Some POST data are missing.";
$request->session()->put('message', 'Some POST data are missing.');
return redirect()->route("signin");
}
......@@ -81,7 +80,7 @@ class UserController extends Controller
} catch (\PDOException $e) {
// Si erreur lors de la création de l'objet PDO
// (déclenchée par MyPDO::pdo())
$request->session()->put('message', $e->getMessage());
$request->session()->put('message', $e->getMessage());
return redirect()->route('signin');
} catch (\Exception $e) {
......@@ -90,14 +89,14 @@ class UserController extends Controller
$request->session()->put('message', 'Wrong login/password');
return redirect()->route('signin');
}
$request->session()->put('user', $login);
$request->session()->put('user', $login);
return redirect()->route('account');
}
public function adduser(Request $request)
{
//unset($_SESSION['message']);
$request->session()->flush();
unset($_SESSION['message']);
// 2. On vérifie que les données attendues existent
if (empty($request->input('login')) || empty($request->input('password')) || empty($request->input('confirm'))) {
$request->session()->put('message', "Some POST data are missing.");
......@@ -111,7 +110,7 @@ class UserController extends Controller
// 4. On vérifie que les deux mots de passe correspondent
if ($password !== $confirm) {
$request->session()->put('message',"The two passwords differ.");
$request->session()->put('message', "The two passwords differ.");
return redirect()->route("signup");
}
......@@ -142,17 +141,10 @@ class UserController extends Controller
public function changepassword(Request $request)
{
$request->session()->flush();
//unset($_SESSION['message']);
// 1. On vérifie que l'utilisateur est connecté
if (empty( $request->session()->get("user"))) {
return redirect()->route("signin");
}
unset($_SESSION['message']);
// 2. On récupère le login dans une variable
$login = $request->session()->get("user");
$login = $request->session()->get("user");
// 2. On vérifie que les données attendues existent
if (empty($request->input('newpassword')) || empty($request->input('confirmpassword'))) {
......@@ -180,70 +172,61 @@ class UserController extends Controller
} catch (PDOException $e) {
// Si erreur lors de la création de l'objet PDO
// (déclenchée par MyPDO::pdo())
$request->session()->put('message', $e->getMessage());
$request->session()->put('message', $e->getMessage());
return redirect()->route("formpassword");
} catch (Exception $e) {
// Si erreur durant l'exécution de la requête
// (déclenchée par le throw de $user->changePassword())
$request->session()->put('message', $e->getMessage());
$request->session()->put('message', $e->getMessage());
return redirect()->route("formpassword");
}
// 3. On indique que le mot de passe a bien été modifié
$request->session()->put('message', "Password successfully updated.");
$request->session()->put('message', "Password successfully updated.");
return redirect()->route("account");
}
public function deleteuser(Request $request) {
//unset($_SESSION['message']);
$request->session()->flush();
public function deleteuser(Request $request)
{
unset($_SESSION['message']);
/******************************************************************************
* Vérification de la session
*/
// 1. On vérifie que l'utilisateur est connecté
if ( empty($request->session->get('user')) )
{
return redirect()->route("signin");
}
// 2. On récupère le login dans une variable
$login = $request->session()->get("user");
$login = $request->session()->get("user");
// 1. On crée l'utilisateur avec les identifiants passés en POST
$user = new MyUser($login);
// 2. On détruit l'utilisateur dans la BDD
try {
$user->delete();
}
catch (PDOException $e) {
} catch (PDOException $e) {
// Si erreur lors de la création de l'objet PDO
// (déclenchée par MyPDO::pdo())
$request->session()->put('message', $e->getMessage());
$request->session()->put('message', $e->getMessage());
return redirect()->route("account");
}
catch (Exception $e) {
} catch (Exception $e) {
// Si erreur durant l'exécution de la requête
// (déclenchée par le throw de $user->create())
$request->session()->put('message', $e->getMessage());
$request->session()->put('message', $e->getMessage());
return redirect()->route("account");
}
// 3. On détruit la session
$request->session()->flush();
// 4. On crée une nouvelle session
$request->session()->start();
// 5. On indique que le compte a bien été supprimé
$request->session()->put('message', "Account successfully deleted.");
$request->session()->put('message', "Account successfully deleted.");
// 6. On sollicite une redirect()->routeion vers la page d'accueil
return redirect()->route("signin");
}
}
......@@ -21,7 +21,6 @@ class EnsureMyUserIsAuthenticated
return redirect()->route("signin");
}
*/
if (!$request->session()->has("user")) {
return redirect()->route("signin");
}
......
No preview for this file type
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment