Rechercher : dans
Par :

"session_start" et "header()"

Dernière réponse le 12 nov 2009 à 05:31:29 hektoumayo, le 18 mai 2005 à 22:03:40 
 Signaler ce message aux modérateurs

Salut,
Voila j'ai fait un script dans lequel session_start et header( )n'est pas au début du script. J'ai des messages d'erreur du style :

Warning: session_start(): Cannot send session cookie - headers already sent by (output started at c:\program files\easyphp1\www\config.inc.php3:2) in c:\program files\easyphp1\www\inscription.php3 on line 23

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at c:\program files\easyphp1\www\config.inc.php3:2) in c:\program files\easyphp1\www\inscription.php3 on line 23

Warning: Cannot modify header information - headers already sent by (output started at c:\program files\easyphp1\www\config.inc.php3:2) in c:\program files\easyphp1\www\inscription.php3 on line 25

Qu'est ce que je peux alors faire pour contourner ce problème. J'ai essayé de lire une solution à ce problème sur un site mais je n'ai rien compris. Si quelqu'un avait une reponse claire ça serait vraiment sympa.
Pour info ,je possède la derniere version de EasyPHP.
Merci d'avance.

Meilleures réponses pour « "session_start" et "header()" » dans :
[PHP] Headers already sent by..... Voir Lorsque vous utilisez une fonction PHP qui manipule les en-têtes HTTP comme par exemple: header() setcookie() session_start() Il est important d'utiliser ces fonctions avant d'avoir généré le moindre flux vers le client. A partir du moment où...
Bad pool caller / Header VoirSymptômes Un écran bleu d'affiche avec le message suivant : Bad Pool Caller Bad Pool Header Résolution Le message d'erreur Bad Pool Caller ou Bad Pool Header signifie que l'appel d'une application a échoué. Il est généralement suivi d'un certain...
Les balises dans la partie 'head' VoirAvant tout : rappel sur le doctype La partie head Balises meta Mots clés Description Déclaration de la langue du site Catégorie Auteur Restrictions pour les moteurs de recherche Adresse de la page Logiciels utilisés pour la...
[Langages] Envoyer un mail avec pièce jointe VoirLes mails, tout comme les pages web, sont livrés avec des en-têtes (headers en anglais). Ces en-têtes servent à donner quelques détails nécessaires comme l'adresse du destinataire, celle de l'envoyeur, la date de l'envoi, le sujet du mail etc. Elles...

31

mec perdu , le 19 déc 2008 à 11:52:13

Merci, mais j'ai un problème dans ce code. Je crois qu'il m'affiche le header( erreur) et donc il peut pas m'afficher le header(index) alors que sur localhost cela fonctionne parfaitement

voici le code :
<?php include("session.php");?>


<?php

include('connex.php');

$identifiant = $_POST["identifiant"];
$passwd =$_POST["password"];

$sql = "SELECT login FROM adherant WHERE login = '$identifiant' AND password = '$passwd'";
$result = mysql_query($sql);

while ($ligne = mysql_fetch_array($result))
{
$identifiant = $ligne['login'];
$passwd = $ligne['password'];
}

$nbLigne=mysql_num_rows($result);

if ($nbLigne==1)
{

}
else
{

$_SESSION['identifiant']= $identifiant;
$_SESSION['password']= $passwd;
header("Location: index.php?identifiant=$identifiant");
}

?>

Répondre à mec perdu

32

kilian, le 19 déc 2008 à 11:58:16

Je suis prêt à parier que dans session.php tu as un session_start() qui traine.... Le gâteau est un mensonge!

Répondre à kilian

33

mec perdu, le 19 déc 2008 à 12:08:08

Ouai mais la tu mm pas...

Répondre à mec perdu

34

kilian, le 19 déc 2008 à 12:11:47

Mais si je t'aime bien... Le gâteau est un mensonge!

Répondre à kilian

35

kilian, le 19 déc 2008 à 12:13:39

Ca signifie que tu as déjà envoyé les en-têtes http (via session_start()) tu ne peux plus les renvoyer (comme le fait header), donc au lieu de faire redirection avec

header("Location: index.php?identifiant=$identifiant");

Il faut que tu utilises autre chose: http://www.commentcamarche.net/faq/sujet 4640 webmaster faire une redirection Le gâteau est un mensonge!

Répondre à kilian

36

mec perdu, le 19 déc 2008 à 12:14:05

Alors pourquoi tu m'aide pas :-( sauf si tu trouve pas mon erreur

Répondre à mec perdu

37

kilian, le 19 déc 2008 à 12:14:56

Je viens de te répondre: http://www.commentcamarche.net/forum/affich 1531776 session start et header?page=2#35 Le gâteau est un mensonge!

Répondre à kilian

38

mec perdu, le 19 déc 2008 à 12:29:31

Ouaw il me donne mal a la téte le .htacess je croi jvai abandonner mon projet

Répondre à mec perdu

39

kilian, le 19 déc 2008 à 12:30:25

Prend pas le .htaccess, prend la méthode javascript, c'est la plus simple. Le gâteau est un mensonge!

Répondre à kilian

40

mec perdu, le 19 déc 2008 à 16:23:24

J'ai un autre problème dans mon j'arrive pas a récupérer le mot de passe pour me connecter au site avec l'hébergeur Free pourtant sa fonctionne correctement en localhost


<html>
<head>
<meta http-equiv="Refresh"
content="0;URL=http://dj.slyders.free.fr/">
</head>

<?php include("session.php");?>

<?php

include('connex.php');

$identifiant = $_POST["identifiant"];
$passwd =$_POST["password"];

$sql = "SELECT login FROM adherant WHERE login ='$identifiant' AND password ='$passwd'";
$result = mysql_query($sql);

while ($ligne = mysql_fetch_array($result))
{
$identifiant = $ligne['login'];
$passwd = $ligne['password'];
}

$nbLigne=mysql_num_rows($result);

if ($nbLigne==0)
{

}
else
{
$_SESSION['identifiant']= $identifiant;
$_SESSION['password']= $passwd;
}

?>
</html>

Répondre à mec perdu

41

kilian, le 19 déc 2008 à 16:49:08

Vérifie que la connexion se passe bien. Et fait un echo sur ta requête puis execute la dans phpMyadmin pour être sur qu'elle est bonne. Le gâteau est un mensonge!

Répondre à kilian

42

mec perdu, le 19 déc 2008 à 20:23:30

La connexion au serveur est bonne des de coté (free et easyphp) les requets aussi mais si localhost quand je m'identifie avec un login et mot de passe sa m'achiffe se message :

Notice: Undefined index: password in D:\DOCUMENT\Site\MON SITE\authentification.php on line 23

mais cela fonctionne quand même il retourne sur la page index avec la session de l'identifiant. Sur free sa redirige vers l'index mais il ne se passe rien, aucune session d'ouvert

Répondre à mec perdu

43

mec perdu, le 20 déc 2008 à 12:50:16

???

Répondre à mec perdu

44

mec perdu, le 20 déc 2008 à 19:58:49

????

Répondre à mec perdu

45

mec perdu, le 21 déc 2008 à 12:14:08

Personne pour m'aider

Répondre à mec perdu

46

Ssylvainsab, le 21 déc 2008 à 12:56:44

Postes un nouveau sujet, et arrêtes de "upper" s'il te plaît.
--
Sylvain

Répondre à Ssylvainsab

47

kilian, le 21 déc 2008 à 13:10:05

Wep, j'avoue que le problème initial étant résolu, et comme j'ai pas des masses de temps ce week end, je préfèrerais que cette nouvelle question soit déléguée à quelqu'un d'autre :-) Le gâteau est un mensonge!

Répondre à kilian

52

pseudo, le 24 jun 2009 à 15:06:59

Bonjour

alors en fait moi aussi j'ai eu ce probleme : voici mon code (c'est pas une histoire de BOM ^^), vous allez tout de suite comprendre.
un fichier haut.inc.php

<?php session_start(); ?>

<!DOC...

un fichier incluant haut.inc.php

<?php include("haut.php"); ?>

et ben la j'avais les avertissemnt deviner pourquoi ?
les 3 espace avant le include ... (bon en fait cétait des tabulation ^^)
donc si votre déclaration session_start ce trouve dans un fichier include regarder plutot dans le / les fichier qui font appelle a lui.

Voila jespere vous avoir répondu

Répondre à pseudo

53

pseudo, le 24 jun 2009 à 15:11:09

Pardon je me suis mal exprimer et en plus j'ai fait une faute :

la syntaxe est plutot :

<?php include("haut.inc.php"); ?>

et les 3 espace sont devant le <?php include( ...

^^ Cordialement

Répondre à pseudo

54

fabien077, le 29 jui 2009 à 21:24:59

Quand j'ai rencontré cette erreur, ma page était programmé ainsi :
............................
require('fonction.php');
session_start();
.................................

-> J'ai trouvé l'erreur en 7 - 8 minute :)

Voici ma page sans l'erreur :
.............................
session_start();
require('fonction.php');
.................................

Répondre à fabien077

55

morifen, le 29 sep 2009 à 16:14:45

Bonjour,

Je suis en train de creer un espace client pour un site internet hors quand je valide mon login et mot de passe voila ce qui s'affiche:

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /homez.136/dcvidloo/www/site3/index.php:7) in /homez.136/dcvidloo/www/site3/login.php on line 19

Warning: Cannot modify header information - headers already sent by (output started at /homez.136/dcvidloo/www/site3/index.php:7) in /homez.136/dcvidloo/www/site3/login.php on line 21

pour information login.php est intégré à index par un include

<div id="login">
<?php include("login.php"); ?>
</div>

Quelqu'un aurait-il la possibilité de me dire où ça coince??

Répondre à morifen

57

 Fred, le 12 nov 2009 à 05:31:29

Salut,


Un grand merci a tous, apres avoir cherche pendant 2 heures le pourquoi de ce message d'erreur
et c'etait a cause d'un fichier encode en UTF-8, passe a ANSI et ca a remache directe!
Merci!

Répondre à Fred