Probleme ouverture session (header) [Résolu]

Signaler
Messages postés
436
Date d'inscription
mercredi 26 septembre 2007
Statut
Membre
Dernière intervention
2 juillet 2014
-
Messages postés
436
Date d'inscription
mercredi 26 septembre 2007
Statut
Membre
Dernière intervention
2 juillet 2014
-
Bonjour, j'ai un souci que je n'arrive malheureusement pas à régler. Je veux gérer les session mais quadn je l'ouvre (par l'intermédiaire d'un Include) ça me met ça :

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /homepages/12/d311644604/htdocs/payetonju/www/includes/fonctions-systemes.php:1) in /homepages/12/d311644604/htdocs/payetonju/www/connexion.php on line 64

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /homepages/12/d311644604/htdocs/payetonju/www/includes/fonctions-systemes.php:1) in /homepages/12/d311644604/htdocs/payetonju/www/connexion.php on line 64


Je pense,et j'espere que c'est pas bien méchant, mais ça me bloque dans le suite du développement de mon site perso depuis plusieurs jours.. arf ! :'(

Pouvez-vous m'aider svp ?

Merci bcp

Ju'

43 réponses

Messages postés
436
Date d'inscription
mercredi 26 septembre 2007
Statut
Membre
Dernière intervention
2 juillet 2014
4
Oups pardon j'avais compris "qu'en est il de Tonio" ? lol

bah j'ai ceci direct en arrivant sur le site (sans rien faire)

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /homepages/12/d311644604/htdocs/payetonju/www/includes/fonctions-systemes.php:1) in /homepages/12/d311644604/htdocs/payetonju/www/includes/fonctions-systemes.php on line 4

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /homepages/12/d311644604/htdocs/payetonju/www/includes/fonctions-systemes.php:1) in /homepages/12/d311644604/htdocs/payetonju/www/includes/fonctions-systemes.php on line 4
Messages postés
3706
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
30
Comment l'initialiser ?
Car c'est ce qui me permet de ne pas entrer 2 fois dans le meme include, étant donné que dans mes pages web je peux retrouver plusieurs fois le meme include.

Il y a peut être un problème de conception ... peut être (Pourquoi retrouver plusieurs fois le même include dans tes pages web ?)
Cependant regarde du côté de include_once() et require_once()

Pourquoi mettre le session_start() dans un include et pas sur la page index ?

Es tu certain qu'il n'y a pas un espace qui traine avant le <?php de fonctions-systemes.php ?
Quel éditeur utilises tu ?
Essai de copier / coller le code de fonctions-systemes.php dans le bloc note de windows. Efface les 4 premières lignes et recopie les à la main
Upload sur le serveur.
Le pb est il toujours présent ?

Cordialement,

Kohntark -
Messages postés
436
Date d'inscription
mercredi 26 septembre 2007
Statut
Membre
Dernière intervention
2 juillet 2014
4
Alors quand je dis que l'include peut y etre 2 fois; c'est parce que je peux avoir un include de fonctions-systemes dans index.php, mais je peux avoir un include de index.php dans connexion.php (qui lui contient aussi un include de fonctions-systemes) s'il y a des erreurs au niveau du formulaire, et je voudrais faire un tag (d'ou le $TagSys) pour éviter que le programme rentre 2 fois dans cet include.

Je pensais que j'avais bien pensé... :(

Et oui je suis 100£ sûr qu'il n'y a aucun espace, je viens de faire ce que tu m'as demandé, de recopier les 4 premieres lignes à la main (de toute maniere je en travaille que sous bloc notes ici) mais rien ne change.


Et je ne met pas session_start() dans la page d'index parce que dès que je change de page je perds ma session, non ?
Messages postés
3706
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
30
Et je ne met pas session_start() dans la page d'index parce que dès que je change de page je perds ma session, non ?

Tout à fait, il faudrait le mettre sur chaque page.
Comme je le disais je n'ai que parcouru le code, je pensais que tu appelai tes autres pages en faisant des includes dans index.php ... au temps pour moi.

Juste pour lever un doute :
- Crée une nouvelle page 'machin.php' avec ce code :
<?php
ini_set('display_errors', 1);
error_reporting(-1);
session_start();
?>


As tu une erreur ?
Si c'est le cas remplace le code par :
<?php
php_info();
?>


Et recopie ici la partie "SESSION"


Cordialement,

Kohntark -
Messages postés
436
Date d'inscription
mercredi 26 septembre 2007
Statut
Membre
Dernière intervention
2 juillet 2014
4
euh alors j'ai fait tel quel ce que tu m'as dit
j'ai créé une page vierge dans laquelle j'ai mis
<?php
ini_set('display_errors', 1);
error_reporting(-1);
session_start();
?>

Je l'ai uploadé, et quand j'affiche il en se passe rien :/
Messages postés
436
Date d'inscription
mercredi 26 septembre 2007
Statut
Membre
Dernière intervention
2 juillet 2014
4
Bon je me suis dit que je vais copié coller ton code en haut de ma page fonction-systemes, et ça m'affiche ce que ça m'affichais avec wampserver

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /homepages/12/d311644604/htdocs/payetonju/www/includes/fonctions-systemes.php:1) in /homepages/12/d311644604/htdocs/payetonju/www/includes/fonctions-systemes.php on line 4

Notice: Undefined variable: TagSys in /homepages/12/d311644604/htdocs/payetonju/www/includes/fonctions-systemes.php on line 6
&#65279;
Notice: Undefined variable: TagConstantes in /homepages/12/d311644604/htdocs/payetonju/www/includes/constantes.php on line 2
Messages postés
3706
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
30
j'affiche il en se passe rien :/

Ok, c'est normal.

bizarre ton affaire, je viens d'aller voir ton site et même un appel direct à "includes/fonctions-systemes.php" génère l'erreur.

Notice: Undefined variable: TagSys

Il faut corriger cette erreur (TagSys non défini) !!

Donne tout de même la partie session de phpinfo();

Ajoute également (pour le debug uniquement) :
ini_set('display_errors', 1);
error_reporting(-1);

Tout en haut de ta page index.php


Cordialement,


Kohntark -
Messages postés
3706
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
30
je vois que tu galères avec mon erreur.

C'est phpinfo();
et non php_info();




Kohntark -
Messages postés
436
Date d'inscription
mercredi 26 septembre 2007
Statut
Membre
Dernière intervention
2 juillet 2014
4
alor :

quand je met php info
Fatal error: Call to undefined function: php_info() 


et quand je met ton code au début de la page d'index, il y a exactement les memes erreurs
Messages postés
436
Date d'inscription
mercredi 26 septembre 2007
Statut
Membre
Dernière intervention
2 juillet 2014
4
ha ! lol
Merci de faire attention a mon newbisme ! lol

voila :
session
Session Support  enabled  
Registered save handlers  files user  

Directive Local Value Master Value 
session.auto_start Off Off 
session.bug_compat_42 On On 
session.bug_compat_warn On On 
session.cache_expire 180 180 
session.cache_limiter nocache nocache 
session.cookie_domain no value no value 
session.cookie_lifetime 0 0 
session.cookie_path / / 
session.cookie_secure Off Off 
session.entropy_file no value no value 
session.entropy_length 0 0 
session.gc_divisor 100 100 
session.gc_maxlifetime 1440 1440 
session.gc_probability 1 1 
session.name PHPSESSID PHPSESSID 
session.referer_check no value no value 
session.save_handler files files 
session.save_path /tmp /tmp 
session.serialize_handler php php 
session.use_cookies On On 
session.use_only_cookies Off Off 
session.use_trans_sid Off Off 


Mais bon moi perso j'y comprends pas grand chose.
J'ai placé le phpinfo() tout au début de fonction-systemes.php
Messages postés
3706
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
30
mouais, ça semble OK.

Je vais être chiant mais je reste assez persuadé qu'il y a un quelque chose d'émis avant <?php
Tu n'es cependant pas obligé de le voir.

C'est bien le bloc note windows de base que tu utilises ?
Quelle version de windows ?

Allé, un peu de boulot :
- sauvegarde ton fichier fonctions-systemes.php tel qu'il est
- ouvre le fichier d'origine
- supprime tout le contenu
- recopie à la main :
<?php
ini_set('display_errors', 1);
error_reporting(-1);
session_start();
?>

(je sais tu l'as déjà fait )
- fais simplement "enregistrer"
- upload sur le serveur

As tu toujours l'erreur ?

- réouvre le fichier
- fais "enregistrer sous ..." et sélectionne codage "ANSI"
- upload sur le serveur

As tu toujours l'erreur ?



Kohntark -
Messages postés
436
Date d'inscription
mercredi 26 septembre 2007
Statut
Membre
Dernière intervention
2 juillet 2014
4
Alors,
Non tu n'es pas chiant, tu essayes de m'aider et je t'en remercie !

et Oui oui je suis sur qu'il n'y a pas d'espace au début, cet espace est peut etre exsitant, mais pas avant la balise "<?php" de aucun fichier, ça c'est une certitude !

Je suis sous Windows XP Pro SP3.

J'ai recopié ton code, et j'ai toujours les erreurs.

Mais je n'ai plus les erreurs quand j'ai eneregistré en ANSI (enfin j'ai toujours l'erreur de déclaration de variable mais plus l'autre erreur de header) ! ça te dis quelque chose ?
Messages postés
567
Date d'inscription
mercredi 4 octobre 2006
Statut
Membre
Dernière intervention
30 août 2011
10
Apparemment tu peux avoir des caractères "invisibles" oui... Quel es ton logiciel de dev ?

Pour éviter le warning de la variable tu peux utiliser isset() dans ton if...

_________________________________
Min iPomme
Messages postés
436
Date d'inscription
mercredi 26 septembre 2007
Statut
Membre
Dernière intervention
2 juillet 2014
4
ok j'ai mis
if(isset($TagConstantes)) 
au lieu de
if($TagConstantes != 1))
et je n'ai plus les erreur de constantes, masi ces erreurs je les ai encore sous Wampserver.

Au pire ce n'est pas grave, ce qui m'interesse c'est le resultat sur le web et non en local.

Je développe sous bloc notes, et quand j'entammerai la partie charte graphique plus sérieusement, je me mettrais sous dreamweaver CS4 pour gérer le template.
Messages postés
436
Date d'inscription
mercredi 26 septembre 2007
Statut
Membre
Dernière intervention
2 juillet 2014
4
Waouw vous etes des bons les mecs sérieux !!
Effectivement je n'ai plus l'erreur pour le moment. JE dormirais carrément moins con ce soir, et à cause de vous en fait je sais meme pas si je vais dormir, si ça marche toujours bien je vais passer ma nuit à dev lol !!

En attendant je considère ce topic résolu, je reviendrais vers vous si jamais ce probleme se reproduit.

Merci 1000000009 fois !
Bonne journée et joyeuses fêtes !!!

=D

Ju'
Messages postés
3706
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
30
Ne le prends pas mal, mais je relève 2 mauvaises idées

sous dreamweaver CS4 pour gérer le template

=> il vaut mieux encore rester avec notePad !! Au moins tu conserveras la maîtrise de ton code et les compétences qui vont avec (mais je le rappelle, le mieux est d'utiliser les éditeurs sus cités, ou d'autres)

Au pire ce n'est pas grave, ce qui m'interesse c'est le resultat sur le web et non en local

=> sauf à avoir de ("bonnes"?) raisons il n'y a pas lieu que ça fonctionne à un endroit et pas sur l'autre. Quant on sait pourquoi passe encore (... et encore) mais laisser tel quel signifie dans bien des cas qu'un bug se promène. Et puis ça te pollue le développement que tu fais en local avant upload sur le serveur.


ok j'ai mis
Code PHP :

if(isset($TagConstantes))

au lieu de
Code PHP :

if($TagConstantes !1))
> ca ne sert à rien puisque $TagConstantes ne sera jamais défini.
As tu regardé ce que je préconisé dans un précèdent message ? (include_once, ...)


Kohntark -
Messages postés
436
Date d'inscription
mercredi 26 septembre 2007
Statut
Membre
Dernière intervention
2 juillet 2014
4
alors, je veux génerer un template car si j'ay 30 pages sur mon site, et que la couleur #0066CC je veux la transformer en #0066DD je serais obligé de me retaper toutes les pages une à une.

Ou si je veux rajouter un taille, un tableau, ou nimporte quelle proprieté sur totue les pages, je serais oblgié de le faire à la main, d'où l'avantage du template, enfin, c'est ce que je pense.

Et pour la création d'une nouvelle page, avec le modele, j'ai déjà toute ma table de créé, l'insertion de mon menu, etc... Enfin je ne conanis pas d'autres methode c'est peut etre ça aussi. lol

En local je testerais de mon portable ce soir, mais j'avais les problemes de ehader aussi, et des varaibles non déclarées dont je ne voyais pas le message sur le serveur de 1&1, je viens de faire comme tu m'as dit concernant le
include_once('fonction-generales.php');
et ça fonctionne niquel, plus besoin de vieux tag à 2 balles, donc j'ai + que résolu le probleme. :)

Comme je ne peux pas tester en local là, c'est pour cela que je t'ai dit que je reviendrais vers vous si jamais le probleme persiste (ça me ferais qd mm ch** d'avoir installé ma BDD et tout en local pr rien lol)

Voili voilou xD
Messages postés
3706
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
30
Petite précision : je parlais de l'utilisation de Dreamweaver, pas des templates.
Dreamweaver et les templates sont deux choses totalement différentes.
Rien ne t'empêche de faire tout ça sous notePad ou un quelconque éditeur.

Le problème avec Dreamweaver est que tu ne maîtrises plus vraiment le code et que celui qu'il écrit à ta place relève souvent de l'usine à gaz.
Pour le peu que j'en connaisse ça pose de réels problèmes de maintenance et de débogage.
L'avantage est qu'il produit des pages rapidement pour ceux qui ne souhaitent pas mettre les "mains dans le cambouis"
Si tu ne fais pas partie de ces derniers tu as tout à gagner à développer ton code toi même, tu pourras mettre en place des choses bien plus puissantes, tu garderas le contrôle, tu feras évoluer le code plus facilement, tu débogueras plus efficacement, etc ... etc ...
et au final tu gagneras du temps.

Bonne journée,


Kohntark -
Messages postés
436
Date d'inscription
mercredi 26 septembre 2007
Statut
Membre
Dernière intervention
2 juillet 2014
4
ha bin je pense que j'ai plein de choses à apprendre à ce sujet alors... je ne sais pas (pas encore... :) ) utiliser les template uniquement par code. Il faut que je me renseigne.

Oui erffetictivement, j'ai déjà fait planté un programme au taf a cause du "nettoyage HTML" de dreamweaver.

j'ai enlever docn les tags et remplacer les includes par include_once et ça me met un truc comme si ça lisais quand meme 2 fois le fichier :

Fatal error: Cannot redeclare random() (previously declared in /homepage/15/b31164460/htdocs/payetonju/www/includes/fonctions-systemes.php:8) in /homepage/15/b31164460/htdocs/payetonju/www/includes/fonctions-systemes.php on line 8


Comment est-ce possible s'il ne rentre qu'une fois dans l'include ?
Messages postés
3706
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
30
As tu contrôlé qu'il ne reste pas un include() quelque part, y compris un include_once() d'une page contenant un include('fonctions-systemes.php') ?



Kohntark -