Problème session_start()

2eureka2 Messages postés 7 Date d'inscription   Statut Membre Dernière intervention   -  
 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

5 réponses

mandolorien Messages postés 109 Date d'inscription   Statut Membre Dernière intervention   3
 
Bonjour ,

Peux tu afficher ton fichier stp :)
0
2eureka2 Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
c'est à dire ? il faut que je l'affiche comment?

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.
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
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 :
 // DEMARRAGE DES SESSIONS
if(session_id() == '') {
    session_start();
}

0
2eureka2 Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
oui mais ça je dois le placer ou? parce que à la base moi j'avais modifié le fichier : index.php (ou j'ai mis les keywords). Sauf que la ça parle de la ligne 228 du fichier systeme.php
0
2eureka2 Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
voici les 1ères lignes du fichier index.php

<?php
require("define.php");
require("bin/system.php");
// ouverture de la session base de donn'es
$MySession = new cSession();
$MySession->dispatch();
?>
0
Utilisateur anonyme
 
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.
0
2eureka2 Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
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?
0
Utilisateur anonyme
 
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
0
2eureka2 Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
 
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é.
0
2eureka2 Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
Très bien, merci pour votre aide. J'ai contacté un informaticien, je vais voir avec si il peut m'aider. Merci beaucoup !
0
Utilisateur anonyme
 
De rien :-)
0