Problème de header

Problème de header - PHP - Programmation

Marsh Posté le 20-08-2004 à 10:34:59    

Bonjour à tous!  
 
J'ai un probleme de header et je c po du tout d'ou ca vient. Voici l'erreur que je rencontre le plus souvent :  
 
Warning: Cannot send session cache limiter - headers already sent (output started at /var/www/html/NetG2Paie/fonctions/pass.php:1) in /var/www/html/NetG2Paie/segment/etatcivil.php on line 2
 
L'énorme problème c que je n'ai plus aucun header dans mon code, et dans aucune des autres pages de mon site...
 
Voici le code de la page "pass.php" :  
 
<? $link=mysql_pconnect("***","***","***" ) or die("Impossible de se connecter : ".mysql_error()); mysql_select_db("***" ); ?>  
 
Je deviens fou  :pt1cable:  :??:  :(  
Please Help!

Reply

Marsh Posté le 20-08-2004 à 10:34:59   

Reply

Marsh Posté le 20-08-2004 à 10:37:39    

et encore un

Reply

Marsh Posté le 20-08-2004 à 10:38:24    

enlève tout les espaces et caractère avant <?php

Reply

Marsh Posté le 20-08-2004 à 10:42:43    

"et encore un"    oui je c qu'il y a énormément de personne qui ont se probleme et en effet je n'ai pas regardé avant pour voir si d'autre sujet existaient. Mais il n'y a aucun espace ni de caratère avant le <? ...
 
Désoler pour la redondance.
 
Ce ne peut venir que de ca? our y aurait-il d'autre cause?

Reply

Marsh Posté le 20-08-2004 à 11:44:51    

Le pb c'est que ta page est incluse dans une autre, me trompe-je ?
 
C'est dans la page qui appelle ce script qu'il y a un header() ou du HTML écrit sur la sortie, mais si ta connexion plante, le die() va écrire qqch et le header() derrière te gueule dessus.
Poste donc un morceau de etatcivil.php.

Reply

Marsh Posté le 20-08-2004 à 11:46:39    

<?
session_start();
require "../fonctions/pass.php";
include "../fonctions/fonction.entête.pdpage.php";
include "../fonctions/fonction.session.php";
$session=ChercheSession(session_id());
 
if(!sessionValide($session)){
 $err=3;
 include "../index.php";
 exit();
 }
 entête("Etat Civil","../controleJS/controle_etatcivil.js" );
?>
<style type="text/css">
<!--
.Style4 {color: #000000}
.Style6 {color: #00CCCC}
.Style7 {font-weight: bold}
-->
</style>
 
<div align="center">
<?
 
 
voila le début, vous voulez autres choses?

Reply

Marsh Posté le 20-08-2004 à 12:11:36    

A mon avis ton srcipt de connexion plante, c'est ce que je comprends avec ton msg d'erreur.
donc tu tombes dans ton if(!sessionValide($session)) et la tu fais un include de "../index.php"; qui a toutes les chances de commencer par un session_start() qui n'apprécie pas que le die() de la connexion ait écrit qqch.
 
1. vérifie ta connexion
2. remplace include "../index.php"; par :

Code :
  1. header ('Location: ../index.php'); exit;

Reply

Marsh Posté le 20-08-2004 à 13:54:52    

pardon mais c koi le die() de connexion? et y t il un moyen pour qu'il n'écrive rien?

Reply

Marsh Posté le 20-08-2004 à 14:06:51    

le die() c'est le message que tu va afficher si la requete de connexion échoue...
 
pour qu'il n'écrive rien il suffit que ta connexion n'échoue pas --> écoute ce que te dise les autres et commence par vérifier ta connexion ;)


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
Reply

Marsh Posté le 20-08-2004 à 14:13:03    

pardon pour cette question stupide....

Reply

Marsh Posté le 20-08-2004 à 14:13:03   

Reply

Marsh Posté le 20-08-2004 à 14:16:01    

oki, mais si j'ai une erreur, j'ai un message qui dois s'afficher normalement non?
 
Sinon, je v la verifie et écouter vos conseil , je vous tiens au courant

Reply

Marsh Posté le 20-08-2004 à 14:23:10    

La connexion est bonne et la selection de la base aussi, j'ai enlever le die et toujours la même erreur

Reply

Marsh Posté le 20-08-2004 à 14:23:43    

bicotte a écrit :


<? $link=mysql_pconnect("***","***","***" ) or die("Impossible de se connecter : ".mysql_error()); mysql_select_db("***" ); ?>  


 
vu ton code, oui tu devrait avoir le message "Impossible de se connecter :" suivi du code d'erreur mySQL...
 
mais en analysant mieux ton message d'erreur, je dois dire que je ne suis plus très sur du pb qu'on incrémine...
 

bicotte a écrit :


Warning: Cannot send session cache limiter - headers already sent


 
ce n'est pas le message du die qui te pose pb, plutot un pb de "session_start" ou de "session_register" à mon avis


Message édité par Xav_ le 20-08-2004 à 14:24:09

---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
Reply

Marsh Posté le 20-08-2004 à 14:25:20    

Citation :

ce n'est pas le message du die qui te pose pb, plutot un pb de "session_start" ou de "session_register" à mon avis


 
Je ve bien te croire mais dans ce cas que dois-je changer??

Reply

Marsh Posté le 20-08-2004 à 14:27:07    

démarrer ta session dans la page d'origine, et non pas dans une page incluse pour etre sur qu'aucune information de header ai été envoyée avant...


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
Reply

Marsh Posté le 20-08-2004 à 14:34:14    

corrige moi si je me trompe :  
le session start doit etre utilisé au debut de tout les pages php qui s'affiche (en tout cas toutes les pages ou il y a des requetes).  
 
Mais la plupart de ces pages doivent être rapellé par un include...
 

Reply

Marsh Posté le 20-08-2004 à 14:39:59    

UN SEUL session_start (enfin il me semble), par contre un session_register("nom_variable" ) pour chaque nouvelle variable à déclarer comme variable de session...
 
Une fois la variables étant en vrariable de session, tu y accède par le $nom_variable classique, comme toute autre variable...


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
Reply

Marsh Posté le 20-08-2004 à 15:28:26    

j'ai utilisé le $_session[] car il parait que c mieux. J'ai aussi enlever les session_start pour le mettre qu'une seule fois, dans la page principale. j'initialise le $_session avec le numéro de la session dans la page principal.
 
Mais lorsque que je passe dans d'autre page, le $_session n'a plus de valeur....
 
ps : la page principal est en fait la page de connexion.. ou je rentre le login et le mot de passe

Reply

Marsh Posté le 20-08-2004 à 15:31:09    

etatcivil.php n'est pas incluse dans une autre ?
et dans ce code :

Code :
  1. <?
  2. session_start();
  3. require "../fonctions/pass.php";
  4. include "../fonctions/fonction.entête.pdpage.php";
  5. include "../fonctions/fonction.session.php";


aucun des scripts inclus ne fait de session_start () ?
 
enfin, le code de pass.php que tu as posté est complet ?


Message édité par gubug le 20-08-2004 à 15:40:31
Reply

Marsh Posté le 20-08-2004 à 15:33:02    

(a propos du msg que tu as posté pdt que je tapais le mien :))
le session_start() doit être inclus au début de toutes les pages qui vont utiliser des variables de session. mais s'il y a des inclusions à répétition, assure-toi qu'il n'y soit qu'une fois et au début

Reply

Marsh Posté le 20-08-2004 à 16:29:56    

include_once() ?

Reply

Marsh Posté le 21-08-2004 à 21:06:32    

Je dis ça comme ça, et j'accepte la flagellation en public si j'ai alourdi tous mes codes de caractères inutiles, mais on ne doit pas mettre :
<?php
quand on écrit du php sur une page ? Je ne le vois nulle part dans les codes précédents...


---------------
Sauvez les arbres : mangez du castor
Reply

Marsh Posté le 22-08-2004 à 03:30:13    

c'est recommandé de le mettre oui. mais beaucoup l'oublie

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed