Bonjour,
J'ai une page de connexion sans tous les cookies qui fonctionne et une page avec cookies qui ne marche pas.
Page qui fonctionne:Page qui ne fonctionne pas:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85 <?php declare(strict_types=1); if( empty( session_id() ) ) session_start(); $_SESSION = array_intersect_key($_SESSION, ['language'=>'', ]); require_once "view/lang/{$_SESSION['language']}.php"; require_once "config.php"; require_once "model/model.php"; // Set default values $errors = []; $page = $_COOKIE['startPage'] ?? 'family'; $demo = isset($_GET['demo']) ? true: false; if($demo) $User = getUser('login', 'demo'); else { $post = $_POST; $login = trim($post['login']); $pw = trim($post['pw']); // Controls //................................................................................................................................. // Missing login if ( empty($post['login']) ) $errors[] = $textes['error_2']; // Missing password if ( empty($post['pw']) ) $errors[] = $textes['error_4']; // Read table 'dat_users' from database $User = getUser('login', $login); // Wrong login if( ! $User ) { $errors[] = $textes['error_6']; } else { // Case sensitive control (because MySQL is case insensitive) if($login !== $User['login']) $errors[] = $textes['error_8']; // Wrong password if ( $post['pw'] && ! password_verify($pw, $User['hash']) ) $errors[] = $textes['error_10']; // User is banned if ($User['banned']) $errors[] = $textes->error_12; // User is not confirmed if (empty($User['checked'])) $errors[] = $textes->error_14; } } //..................................................................................................................................... // Errors handler if ( count($errors) ) $User = false; // Store info in session $_SESSION['errors'] = $errors; $_SESSION['user'] = $User; $_SESSION['demo'] = $User['id_abo'] === 1 ? true: false; if($User) { $page = $_COOKIE['startPage'] ?? $page; if( isset($post['memory']) ) setcookie('code', (string) $User['id'], time() + 60*24*3600); else setcookie('code', '', time() - 1); } else { $page = 'home'; } header("Location: index.php?page={$page}");Cette page provoque l'affichage d'une page d'erreur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93 <?php declare(strict_types=1); if( empty( session_id() ) ) session_start(); $_SESSION = array_intersect_key($_SESSION, ['language'=>'', ]); require_once "view/lang/{$_SESSION['language']}.php"; require_once "config.php"; require_once "model/model.php"; // Set default values $errors = []; $page = $_COOKIE['startPage'] ?? 'family'; $User = false; $demo = isset($_GET['demo']) ? true: false; // Cas particulier de la version démo if($demo) $User = getUser('login', 'demo'); // Cas où l'utilisateur s'est enregistré elseif( !empty($_COOKIE['code']) ) { $User = getUser('id', $_COOKIE['code']); // Cas où l'utilisateur n'est pas enregistré et n'a pas saisi ses codes d'accès } elseif( empty($_COOKIE['code']) && empty($_POST) ) { $page = 'home'; // Cas où l'utilisateur a saisi ses codes d'accès } else { $post = $_POST; $login = trim($post['login']); $pw = trim($post['pw']); // Controls //................................................................................................................................. // Missing login if ( empty($post['login']) ) $errors[] = $textes['error_2']; // Missing password if ( empty($post['pw']) ) $errors[] = $textes['error_4']; // Read table 'dat_users' from database $User = getUser('login', $login); // Wrong login if( ! $User ) { $errors[] = $textes['error_6']; } else { // Case sensitive control (because MySQL is case insensitive) if($login !== $User['login']) $errors[] = $textes['error_8']; // Wrong password if ( $post['pw'] && ! password_verify($pw, $User['hash']) ) $errors[] = $textes['error_10']; // User is banned if ($User['banned']) $errors[] = $textes->error_12; // User is not confirmed if (empty($User['checked'])) $errors[] = $textes->error_14; } } //..................................................................................................................................... // Errors handler if ( count($errors) ) $User = false; // Store info in session $_SESSION['errors'] = $errors; $_SESSION['user'] = $User; $_SESSION['demo'] = $User['id_abo'] === 1 ? true: false; if($User) { $page = $_COOKIE['startPage'] ?? $page; if( isset($post['memory']) ) setcookie('code', (string) $User['id'], time() + 60*24*3600); else setcookie('code', '', time() - 1); } else { $page = 'home'; } header("Location: index.php?page={$page}");Pourquoi ai-je cette erreur maintenant, alors que la version précédente fonctionnait sans problème sans nouvelle redirection.genealium.proginet.local vous a redirigé un trop grand nombre de fois. essayez de supprimer vos cookies.
Partager