Problème session_start()
2eureka2
Messages postés
7
Date d'inscription
Statut
Membre
Dernière intervention
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
Je me tourne vers ce forum en espérant avoir quelques réponses qui m'aideront. Avant d'expliquer le petit soucis de programmation, j'ai vu (lu et relu) les posts précédents, principalement celui ci : https://forums.commentcamarche.net/forum/affich-1705426-probleme-php-session-start Mais je n'arrive pas à résoudre mon problème.
Tout d'abord, je suis stagiaire dans une association et je suis chargée de reconstruire le site internet. Mais je suis quand même débutante dans tout ça.. j'ai réussi à intégrer des meta name="keywords" content="..." mais quand je vais sur le site il y a un message d'erreur qui apparaît :
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/asso/www/site/index.php:1) in /home/asso/www/site/bin/system.php on line 228
Et depuis ça, je n'arrive même plus à entrer en tant qu'administrateur sur le site. Double problème.. parce que je n'arrive pas à corriger mon erreur. j'ai essayer d'enlever ce que j'avais mis mais ça ne marche pas.
Voilà mon problème.. j'ai été voir dans le dossier qu'ils me disent, à la ligne 228 mais je ne vois rien.. enfin plutôt je ne sais pas quoi faire. J'utilise FileZilla pour modifier les écritures (php ou autre.. je n'arrive pas à savoir). Je précise également que je suis vraiment débutante, et donc dans plusieurs topic j'ai vu : UTF8 ; Sans signature BOM ; etc... Sauf que je ne sais pas vraiment à quoi cela correspond.. j'ai essayé de chercher sur internet à quoi correspondent ces mots mais c'est vraiment complexe.
Merci d'avance pour votre aide
Je me tourne vers ce forum en espérant avoir quelques réponses qui m'aideront. Avant d'expliquer le petit soucis de programmation, j'ai vu (lu et relu) les posts précédents, principalement celui ci : https://forums.commentcamarche.net/forum/affich-1705426-probleme-php-session-start Mais je n'arrive pas à résoudre mon problème.
Tout d'abord, je suis stagiaire dans une association et je suis chargée de reconstruire le site internet. Mais je suis quand même débutante dans tout ça.. j'ai réussi à intégrer des meta name="keywords" content="..." mais quand je vais sur le site il y a un message d'erreur qui apparaît :
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/asso/www/site/index.php:1) in /home/asso/www/site/bin/system.php on line 228
Et depuis ça, je n'arrive même plus à entrer en tant qu'administrateur sur le site. Double problème.. parce que je n'arrive pas à corriger mon erreur. j'ai essayer d'enlever ce que j'avais mis mais ça ne marche pas.
Voilà mon problème.. j'ai été voir dans le dossier qu'ils me disent, à la ligne 228 mais je ne vois rien.. enfin plutôt je ne sais pas quoi faire. J'utilise FileZilla pour modifier les écritures (php ou autre.. je n'arrive pas à savoir). Je précise également que je suis vraiment débutante, et donc dans plusieurs topic j'ai vu : UTF8 ; Sans signature BOM ; etc... Sauf que je ne sais pas vraiment à quoi cela correspond.. j'ai essayé de chercher sur internet à quoi correspondent ces mots mais c'est vraiment complexe.
Merci d'avance pour votre aide
A voir également:
- Problème session_start()
- &Quot;session_start" et "header()" ✓ - Forum Programmation
- Une session php a été créée par un appel de fonction session_start(). cela interfère avec l’api rest et les requêtes de boucle (loopback). la session devrait être fermée par session_write_close() avant d’effectuer toute requête http. - Forum Programmation
5 réponses
Bonjour,
Tout d'abord .. penses que tu dois démarrer les SESSIONS .... AVANT de faire quoi que ce soit d'autre... ( donc à placer au tout début du code de ta page)
Ensuite.. pour démarrer proprement les sessions et éviter des messages d'erreur t'indiquant qu'elles sont déjà démarrées .. il faut utiliser le code :
Tout d'abord .. penses que tu dois démarrer les SESSIONS .... AVANT de faire quoi que ce soit d'autre... ( donc à placer au tout début du code de ta page)
Ensuite.. pour démarrer proprement les sessions et éviter des messages d'erreur t'indiquant qu'elles sont déjà démarrées .. il faut utiliser le code :
// DEMARRAGE DES SESSIONS if(session_id() == '') { session_start(); }
Bonjour
Ton problème n'est pas à la ligne 228 du fichier mais à la ligne 1 :
(output started at /home/asso/www/site/index.php:1)
Tu as laissé une ligne vide ou une espace avant <?php
Si tu es sûr que non, c'est presque certainement un caractère invisible (le BOM) que ton éditeur de texte ajoute en tout début de fichier, c'est un grand classique.
Dans les options de ton éditeur, tu as quelque part une option pour enregistrer SANS BOM. Elle figure certainement dans les menus. Trouve-la et enregistre sans BOM.
Ton problème n'est pas à la ligne 228 du fichier mais à la ligne 1 :
(output started at /home/asso/www/site/index.php:1)
Tu as laissé une ligne vide ou une espace avant <?php
Si tu es sûr que non, c'est presque certainement un caractère invisible (le BOM) que ton éditeur de texte ajoute en tout début de fichier, c'est un grand classique.
Dans les options de ton éditeur, tu as quelque part une option pour enregistrer SANS BOM. Elle figure certainement dans les menus. Trouve-la et enregistre sans BOM.
Oui.. j'ai compris ce que c'était le BOM.. sauf que nul part je vois option enregistrer sans BOM.. quand j'ouvre le fichier index.php je peux eventuellement faire : enregistrer sous / encodage : UTF8. Sauf que je ne vois pas "SANS BOM". ça se trouverait dans File Zilla ou dans le bloc note quand j'ouvre le fichier?
Effectivement, si tu utilises le bloc note, je crois bien que l'option n'existe pas. Je ne la trouve pas non plus.
Si tu ne travailles pas en utf8, n'enregistre pas en utf8, il n'y aura pas de BOM. Mais si tu utilises l'UTF8, tu ne peux pas te le permettre.
Si tu travailles en utf8, utilise un autre éditeur de texte, il y en a beaucoup de gratuits et ils sont presque tous mieux que le bloc notes.
Le plus célèbre : notepad++
Mon préféré : psPad
Si tu ne travailles pas en utf8, n'enregistre pas en utf8, il n'y aura pas de BOM. Mais si tu utilises l'UTF8, tu ne peux pas te le permettre.
Si tu travailles en utf8, utilise un autre éditeur de texte, il y en a beaucoup de gratuits et ils sont presque tous mieux que le bloc notes.
Le plus célèbre : notepad++
Mon préféré : psPad
Oui j'ai téléchargé notepad++ . Mais je n'arrive pas à ouvrir le fichier index.php avec notepad. ça l'ouvre directement avec Bloc Note. En revanche j'ai vu qu'il y avait effectivement "UTF8 sans BOM" pour l'encodage du fichier dans notepad. Mais je ne sais pas ouvrir mon fichier avec ce logiciel.. File Zilla l'ouvre directement avec Bloc Note.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Ne l'ouvre pas à partir de Filezilla.
Si tu n'as pas de copie de index.php sur ton PC, transfère-le depuis le site vers le répertoire de ton choix.
En dehors de Filezilla, ouvre-le avec Notepad++, sauvegarde-le sans BOM, puis refais le transfert dans l'autre sens.
Si tu tiens à tout prix à le faire depuis Filezilla, tu dois pouvoir dire à Filezilla d'utiliser notepad++ :
Edition - paramètres - édition des fichiers - utiliser l'éditeur personnalisé.
Si tu n'as pas de copie de index.php sur ton PC, transfère-le depuis le site vers le répertoire de ton choix.
En dehors de Filezilla, ouvre-le avec Notepad++, sauvegarde-le sans BOM, puis refais le transfert dans l'autre sens.
Si tu tiens à tout prix à le faire depuis Filezilla, tu dois pouvoir dire à Filezilla d'utiliser notepad++ :
Edition - paramètres - édition des fichiers - utiliser l'éditeur personnalisé.
Autre précision : ma responsable ne veut pas que le nom de l'association soit mentionné.. donc je ne peux pas donner le lien du site.