Bonjour,
Je rencontre actuellement un problème avec mon site programmé en PhP. J'explique le fonctionnement du système de connexion
login.php -> La page propose un formulaire de connexion et d'inscription. (L'inscription est pour l'instant inactive, seul les Administrateurs peuvent se connecter)
Le formulaire de connexion à la méthode "post" sur elle-même. Le système va donc vérifier le nom d'utilisateur et le mot de passe. Tout fonctionne bien, je suis connecté avec un token qui se génère et qui se met dans un cookie avec le nom d'utilisateur dans un autre.
Durée de vie des cookies : time() + 3600 (Donc une heure à priori)
logout.php -> Aucun echo ni morceau html, juste 2 setcookies qui met une valeur nulle dans chacun avec une durée de vie time() - 3600
Puis un petit header() pour retourner à la page de connexion.
Sauf que sur la page logout ... problème ! Je n'ai aucun echo dans mon fichier ni de code html mais voici les erreurs que j’obtiens :
Je m'en mort donc les doigts, l'encodage de mon fichier est bien en UTF-8 (pas UTF-8 sans BOM) et aucun espace en trop au début ou à la fin.Warning: Cannot modify header information - headers already sent by (output started at /home/alfgardf/public_html/logout.php:1) in /home/alfgardf/public_html/logout.php on line 1
Warning: Cannot modify header information - headers already sent by (output started at /home/alfgardf/public_html/logout.php:1) in /home/alfgardf/public_html/logout.php on line 2
Warning: Cannot modify header information - headers already sent by (output started at /home/alfgardf/public_html/logout.php:1) in /home/alfgardf/public_html/logout.php on line 3
Je tente donc le ob_start() et le ob_flush()
Mais...
Warning: Cannot modify header information - headers already sent by (output started at /home/alfgardf/public_html/logout.php:1) in /home/alfgardf/public_html/logout.php on line 2
Warning: Cannot modify header information - headers already sent by (output started at /home/alfgardf/public_html/logout.php:1) in /home/alfgardf/public_html/logout.php on line 3
Warning: Cannot modify header information - headers already sent by (output started at /home/alfgardf/public_html/logout.php:1) in /home/alfgardf/public_html/logout.php on line 4
A vrai dire, je planche la dessus depuis un moment, et même après réécriture du fichier, j'ai le même problème...
Je viens donc demander de l'aide ici dans l'espoir qu'une solution fleurisse
Merci par avance !
Code logout.php :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <?php ob_start(); setcookie('pseudo', '', time() - 3600, null, null, false, true); setcookie('token', '', time() - 3600, null, null, false, true); header('Location : login.php'); ob_flush(); ob_end_flush();?>
Partager