[PHP] - Sessions et redirections

[Résolu/Fermé]
Signaler
Messages postés
610
Date d'inscription
vendredi 30 mai 2008
Statut
Membre
Dernière intervention
2 avril 2013
-
Messages postés
610
Date d'inscription
vendredi 30 mai 2008
Statut
Membre
Dernière intervention
2 avril 2013
-
Bonjour à tous !
Ma page permet d'envoyer un mail. Voici en gros le corps de ma page :
<?php
   session_start();

   // récupérations des données via $_GET et base de données 

   // rédaction du message 
   // au format html avec variables php
   // et variables de sessions
   // et ajout de pièces jointes

  // envoi du mail

  // redirection vers une autre page en javascript et non avec header(Location ....)

?>
Le mail est correctement envoyé au destinataire (avec pièces jointes) mais je n'ai pas de redirection et j'ai ce message d'erreur :
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent
J'ai regardé dans de nombreux forum, car le problème semble bien répandu ; mais je ne comprends la signification de mon erreur, dans mon cas

7 réponses

Messages postés
3538
Date d'inscription
jeudi 15 mai 2008
Statut
Membre
Dernière intervention
11 septembre 2016
461
Ton message veux dire que tu dois avoir du code html avant le code php
session_start();

Celui-ci doit être mis en tout premier sur la page.
Messages postés
610
Date d'inscription
vendredi 30 mai 2008
Statut
Membre
Dernière intervention
2 avril 2013
27
Pourtant le début de mon fichier commence comme ceci :
<?php
	session_start();

	//Recuperation des donnees du devis
		require 'config.php';
		$req = "Select ....;
		$connexion = @mysql_connect("$host","$login","$password");
	...

?>
Messages postés
3538
Date d'inscription
jeudi 15 mai 2008
Statut
Membre
Dernière intervention
11 septembre 2016
461
Celui n'est pas inclu dans un autre? T'a pas des espaces avant? j'ai déjà lu que ça pouvais poser problème.
Messages postés
610
Date d'inscription
vendredi 30 mai 2008
Statut
Membre
Dernière intervention
2 avril 2013
27
oui j'avais vu ça aussi mais rien y fait !!
Ça te dérange si je poste mon code source sur un de mes sites pour trouver mon erreur ?
Parmi les causes classiques, si tu utilises Notepad++ et que tu écris en UTF-8, il faut bien enregistrer en UTF-8 SANS BOM sinon il insère un caractère invisible (BOM) avant le <
Messages postés
610
Date d'inscription
vendredi 30 mai 2008
Statut
Membre
Dernière intervention
2 avril 2013
27
Comment "enregistrer en UTF-8 SANS BOM" ?
>
Messages postés
610
Date d'inscription
vendredi 30 mai 2008
Statut
Membre
Dernière intervention
2 avril 2013

Je n'ai pas de notepad++ sous la main, mais ça apparaît sans doute dans un menu qui s'appelle "encodage" ou "jeu de caractères" ou quelque chose comme ça.
Messages postés
610
Date d'inscription
vendredi 30 mai 2008
Statut
Membre
Dernière intervention
2 avril 2013
27 > le père
ALELOUIA mon père !!
Je vois ça, je teste et je te tiens au courant !!
Messages postés
610
Date d'inscription
vendredi 30 mai 2008
Statut
Membre
Dernière intervention
2 avril 2013
27 >
Messages postés
610
Date d'inscription
vendredi 30 mai 2008
Statut
Membre
Dernière intervention
2 avril 2013

Problème résolu en enregistrant en UTF-8 (sans BOM)
Merci à tous pour votre aide !
Messages postés
108
Date d'inscription
mardi 24 février 2009
Statut
Membre
Dernière intervention
11 février 2015
7
il es probable que cela nienne du faite que tu ne referme pas ta session
Messages postés
610
Date d'inscription
vendredi 30 mai 2008
Statut
Membre
Dernière intervention
2 avril 2013
27
J'ai testé en refermant la session mais ça ne change rien
Messages postés
246
Date d'inscription
mercredi 4 mars 2009
Statut
Membre
Dernière intervention
13 mars 2009
25
Salut,

Moi je vérifie toujours qu'il n'y pas déjà une session en cours

essaye donc avec ça :
if (!isset($_SESSION)) {
  session_start();
}