Voilà mon problème : https://youtu.be/XvQ1RHr6HXs
Bonjour,
Mon site fraichement mit en ligne, je me rends compte qu'il comporte un bug très problèmatique, m'obligeant à le mettre en maintenance.
J'ai un formulaire de connexion que j'ai réussi à réparer. J'ai cru au début que ce n'était que ça le problème. Néanmoins, en me penchant plus sur le problème, je me rends compte que la session $_SESSION['auth'] reste coincé dans la page de connexion. Où que j'aille, elle disparaît.
Vous trouverez ci-après les codes de différentes pages ainsi que la page "account.php" qui contient une redirection vers la page de connexion lorsque l'utilisateur n'est pas connecté. La page de connexion est censé envoyer l'utilisateur connecté sur la page "account.php", mais celle-ci, ne trouvant pas la session, le renvoit sur la page de connexion.
Plus simplement, quelle que soit la page vers laquelle je vais, je suis deconnecté.
connexion.php : https://pastebin.com/wxCHw3Nk
account.php : https://pastebin.com/xngQVAQN
includes/needed.php :
includes/functions.php : https://pastebin.com/Bn476N29
includes/header.php : https://pastebin.com/c3ZATAwQ
13 réponses
C'est un problème : https://imgur.com/ewK8T3I
Voilà ce que j'obtiens
Je viens de vérifier, ce n'est pas la fonction "reconnect_from_cookie();" qui cause ce problème...
Attend le "session_start()" doit être executé sur chaque page quoi qu'il arrive
<?php
session_start();
if(!isset($_SESSION['auth']){
echo "Pas de session";
// redirection vers page de connexion
}
dump($_SESSION);
Salut,
j'aurai fait comme ça:
<?php
require_once 'functions.php';
// "si $_SESSION['auth'] n'existe pas alors je lance la session, sinon c'est qu'elle est crée et je l'utilise."
if(!isset($_SESSION['auth']){
session_start();
}
Malheureusement, ceci ne change pas le problème... Le $_SESSION['auth'] disparaît quand je change de page.
Ca ne serai pas ta function "reconnect_from_cookie();" qui poserai problème ?
as-tu éssayé sans pour voir ?
Et comme ceci
Regarde ici
PHP SameSite session problem, session doesn't work
en gros soit sur chaque paàge tu fais ça:
<?php
session_set_cookie_params(["SameSite" => "Strict"]); //none, lax, strict
session_set_cookie_params(["Secure" => "true"]); //false, true
session_set_cookie_params(["HttpOnly" => "true"]); //false, true
session_start(); //everything before this
soit tu modifie ta config dans le php.ini
[Session]
session.cookie_samesite = "Strict"
session.cookie_secure = 1
session.cookie_httponly = 1
J'ai essayé de modifier ça mais la session reste toujours bloqué sur connexion.php
J'ai essayé mais ça ne change pas le problème
J'ai mis ton code en local et j'ai accès à $_SESSION sur l'ensemble des pages, idem pour $_COOKIE.
Je vais envoyer un message au support de mon hébergeur alors