Funcites als validLogin is overigens een businessCode functie (en mogelijk doesEmailExist ook) en zou ik in een service laag file leggen, bijv: userService.php
function processLogin($inputs, $errs){
/* Ik mis hier een call naar een functie om te checken of velden niet leeg zijn:
$validationResult = validateLogin($inputs, $errs)
if (!$validationResult['valid']) {
return $validationResult['errs'];
}
*/
$user = validlogin($inputs['email'], $inputs['password']); // Dit is overigens een business code functie geen data functie!!
switch ($user['result']) {
case RESULT_UNKNOWN_USER:
$errs['email'] = 'Er is geen account geassocieerd met dit e-mailadres.';
break;
case RESULT_WRONG_PASSWORD:
$errs['password'] = 'Onjuist wachtwoord.';
break;
case RESULT_OK;
$_SESSION['user'] = $user['name']; // Ik zou dit in een util functie stoppen van sessionManager.php bijv. doLoginUser($user['name']);
break;
}
return($errs);
}
In tegenstelling tot issue #18 heeft deze functie een functienaam die breed genoeg om te verwachten dat er iemand wordt ingelogd https://github.com/RogierBe/educom-webshop-basis-1699355256/blob/f21e2261a5553f3bcb6300204e98bf28e022e76f/business/getRequestedPage/postPage/processRequest/processLogin.php#L3-L12 Echter in deze functie wordt er 2x naar de userfile gegaan, 1x om te kijken of de user al bestaat en 1x om de user te valideren. Ik zou dat in 1x doen en dan een "result" teruggeven. Door gebruik te maken van
define
s kan je resultaten teruggeven.Funcites als validLogin is overigens een businessCode functie (en mogelijk doesEmailExist ook) en zou ik in een service laag file leggen, bijv: userService.php
In zou processLogin dan zo opzetten