Session_start() en début de code
Résolu
Farahon
Messages postés
51
Statut
Membre
-
Farahon Messages postés 51 Statut Membre -
Farahon Messages postés 51 Statut Membre -
Bonjour,
J'ai loué un nom de domaine chez one.com, et quand j'upload ma page sur leurs serveurs, j'obtiens cette erreur :
Cependant, quand je teste en local sous EasyPHP, je n'ai pas cette erreur, la page s'affiche sans problème. Voici le code de la page qui pose problème :
J'ai loué un nom de domaine chez one.com, et quand j'upload ma page sur leurs serveurs, j'obtiens cette erreur :
Warning: session_start(): Cannot send session cache limiter - headers already sent
Cependant, quand je teste en local sous EasyPHP, je n'ai pas cette erreur, la page s'affiche sans problème. Voici le code de la page qui pose problème :
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <link rel="stylesheet" type="text/css" href="includes/style.css"> <link rel="icon" type="image/png" href="images/fav.ico" /> </head> <body style="text-align: center"> <?php session_start(); $login = $_SESSION["login"]; include "includes/menu.php"; echo "<h2>Bienvenue ".$login." !</h2>";
1 réponse
-
Bonjour,
Il ne faut JAMAIS envoyer du code au navigateur avant l'utilisation de session_start(), même un espace vide n'est pas autorisé, donc ton code devrait ressembler à ceci:<?php session_start(); ?><!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>~ Ton titre qui apparaitra dans onglet du navigateur ~</title> <link rel="stylesheet" type="text/css" href="includes/style.css"> <link rel="icon" type="image/png" href="images/fav.ico" /> </head> <body style="text-align: center"> <?php $login = $_SESSION["login"]; include "includes/menu.php"; echo "<h2>Bienvenue ".$login." !</h2>"; ?>
P.S.: Ne pas OUBLIER la balise HTML <title> dans ta page web, elle compte pour le référencement naturel de ton site web.
Cordialement.-
-
Tout dépend de comment est paramétré ton fichier php.ini en local, il est certainement différent de ton hébergeur et de toute façon, une seule règle pour le
session_start()
placé AVANT tout envoi de données au navigateur et ce, quel que soit l'hébergeur choisi!
Il est même fortement recommandé d'enregistrer son fichier PHP sans BOM (Byte Order Mark) qui est un caractère invisible inséré en début de fichier par certains logiciels de développement. Par exemple, dans Notepad++, on peut choisir d'enregistrer son fichier AVEC ou SANS BOM
Bonne continuation dans la prog...!
-