Bonjour,
Voila je rencontre un petit problème avec mon code.
mon navigateur m'indiue qu'une session a deja été démarrée alors que je n'ai qu'un session_start() dans tout mon php, je comprend pas ou alors j'en ai laissé passé un ...
je voulais savoir les différentes causes de cette erreur, est-ce possible que ca vienne de ma configuration php ? quelles sont les autres causes svp :) merci
La cuase est toujours la même, du contenu a du être affiché avant l'utilisation de la fonction session_start(), même un espace provoque cette erreur.
Met une condition autour de ton session_start dans ce cas là pour vérifier que la session n'est pas déjà présente
// Sur php >= 5.4
if (session_status() == PHP_SESSION_NONE) {
session_start();
}
// ou ça sur PHP < 5.4.0
if(session_id() == '') {
session_start();
}
Mon probleme est resolu, j'ai fait ce que grafikart m'a conseillé plus haut,
Une autre solution est possible:
if(!isset($_SESSION)){
session_start();
}
( la solution se trouvait en fait plus loin dans le tuto)
Merci pour ta réponse rapide :) super flaté que ce soit toi qui réponde :)
J'ai pas trouvé d'espace, je suit toujours ton tuto "creer un site de A à Z" avec une structure en MVC il me semble si je dis pas de bétises et j'en suis au jour 5 lorsque tu cherche a affiché "le contenu a bien été supprimé" vers 19min50...
Mon souci est que je me retrouve avec l'erreur que j'ai mentionné plus haut "Notice: A session had already been started - ignoring session_start() in ... on line 4", j'avais pourtant l'impression d'avoir fait exactement pareil .. cette erreur m'empeche d'avancer c'est domage :p
Alors je me demandais si t'avais pas utilisé un session_start() ailleurs que j'ai oublié d'enlevé ou si j'avais mal configuré mon php, mon session.auto_start = 0 mais mon cookie = 1 .. ca peut venir de ca ?
comment je fais pour l'arreter ? STP :)
Je me suis apercu que "session.auto_start" etait en "On" en affichant l'environnement php de ma machine ...
Surprenant surtout que dans le php.ini mon session.auto_start = 0
WTF? :p
Merci pour ta réponse, tout ce qu'on me dit tend vers cette idée mais la solution comment puis-je la trouée ? :)
Bonsoir.
Voici un fichier .zip
Veuillez s'il vous plait éviter de nous proposer des sources sous format archivés.
Quand nous vous demandons de mettre à notre disposition du code, c'est pour pouvoir le visualiser sans avoir à le télécharger.
Oups... autant pour moi, je pensais que ca pouvait donner une vue plus globale de mon probleme, pas de souci, j'reviens vite avec les sources.
Salut,
tu fais fausse route avec les screenshots ^^
(que tu n'as pas réussi à faire s'afficher d'ailleurs, on ne voit rien)
Pour nous montrer ton code :
Daftpasteur te l'a déjà expliqué ! Alors j'essaie d'être encore plus explicite :
Quand tu clic sur "répondre", regardes juste en haut de là où tu écris ta réponse, il y a une petite barre avec 5 boutons ("B" pour mettre gras, "I" pour mettre en italique...).
Le 5ème bouton te permet de nous présenter du "code", clic dessus, ça va afficher :
Toi tu écris ton code sur la ligne vide (tu peux évidemment écrire plus d'une ligne entre ces 2 * 3 backquotes).
Donc tu vas dans tes fichiers, et tu copie le code qui pose problème,
en l’occurrence au moins les 4 1ères lignes du fichier où il y a le "SESSION_START()".
Ensuite tu viens le coller entre ces 2 * 3 backquotes (sur la ligne vide).
Pour trouver tous les SESSION_START() :
En général sur les éditeurs de code, tu as une fonction "Recherche avancée" qui ne recherche pas QUE dans le fichier courant, mais dans TOUS les fichiers d'un dossier.
Ça te permettra de savoir avec certitude s'il y a un SESSION_START() qui traîne quelque-part, comme tu sembles en douter.
Comme tu start la session dans ton objet Session, vérifie combien de fois tu fais de new Session()
tu crées un objet Session dans le loadcontroller, donc regarde si tu ne charges pas plusieurs fois ton controller