Précédent   Forum des professionnels en informatique > PHP > Langage > Sessions
Sessions Forum d'entraide sur les sessions avec PHP. Avant de poster -> FAQ sessions, Cours sessions et Sources sécurité
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/04/2007, 11h02   #1
Invité de passage
 
Inscription : avril 2007
Messages : 2
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 2
Points : 1
Points : 1
Par défaut Problème session_start() php html !

BOnjour, j'ai un problème, je n'arrive pas a le resoudre. J'ai pourtant passé pas mal d'heures dessus. J'ai comme erreur:

Citation:
<b>Warning</b>: session_start() [<a href='function.session-start'>function.session-start</a>]: Cannot send session cookie - headers already sent by (output started at V:\dev\J.Baran\xampp\htdocs\index.php:1) in <b>V:\dev\J.Baran\xampp\htdocs\index.php</b> on line <b>2</b><br />
<br />
<b>Warning</b>: session_start() [<a href='function.session-start'>function.session-start</a>]: Cannot send session cache limiter - headers already sent (output started at V:\dev\J.Baran\xampp\htdocs\index.php:1) in <b>V:\dev\J.Baran\xampp\htdocs\index.php</b> on line <b>2</b><br />
Je ne comprends pas, voici le code de mon index (le debut):

Code :
1
2
3
4
5
<?php
session_start();
require_once("fonctions/langueNavigateur.php");
require_once("class/utilisateur.php");
require_once("conf/conf.php");
voicit ensuite les autres fichiers requis :

fonctions/langueNavigateur.php
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<?php
/*
 <com> Titre : Langue du navigateur 
 Auteur : m garnit 
 Description : Pour site multilingue:
détermine la première langue reconnue par un navigateur et affiche directement le site dans cette langue, si le site la parle. Sinon affiche dans la langue par defaut (français proposé) mg05 </com>
*/
function langueNavigateur(){
/* 
<com>  exemple d'utilisation de la fonction:
if(!$dirlangue)
$dirlangue=langueNavigateur();
include("$dirlangue/unfichier.php");  mg05 </com>
*/  
/*<com> langue par défaut si aucune trouvée jb070416 </com>*/
$languenav="fr";
/* 
<com> récupère dans un tableau les langues du navigateur 
à partir de $_SERVER['HTTP_ACCEPT_LANGUAGE'].
(en effet plusieurs langues peuvent avoir été configurées pour
un navigateur). mg05 </com>
*/
$langue=explode(",",$_SERVER['HTTP_ACCEPT_LANGUAGE']);
/* extrait pour chaque langue les 2 premieres lettres de la cha&#65533;ne */
$lang=array();
for($i=0;$i<count($langue);$i++){
ereg("^([A-Za-z]{2})(.*)$",$langue[$i],$match);
$lang[$i]=$match[1];
}
/* 
lire à l'envers le tableau des langues du navigateur
pour retenir la langue compatible la plus haute dans la pile. 
(si le site parle anglais et italien, et le nav du visiteur italien et anglais,
retenir la première de ces deux langues déclarée par le nav)
*/
for ($i = count($lang); $i>-1; $i--) {
switch($lang[$i]) {
/* décocher les clauses case ou  rajouter d'autres clauses case selon les langues acceptées par le site */
case 'fr': $languenav="fr"; break;
case 'en': $languenav="en"; break;
case 'de': $languenav="de"; break;
case 'nl': $languenav="nl"; break;
case 'it': $languenav="it"; break;
case 'es': $languenav="es"; break;
}
}
return($languenav);
}
?>
puis voici le code de class/utilisateur.php :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?php
class utilisateur 
	{
	var $idutilisateur;
	var $nomutilisateur;
	var $login;
	var $email;
	var $pass;
	var $datecreation;
	var $datepremiereconnexion;	
	var $datedernierconnexion;
	var $idfiliale;
 
 
	function utilisateur($Login,$Password)
		{
		$login=mysql_real_escape_string($Login);
		$pass=mysql_real_escape_string($Password);
 
		$result=mysql_query("SELECT * FROM tblutilisateur WHERE login='".$Login."'");
		$row=mysql_fetch_assoc($result);
 
		$this->login = $row['login'];
		$this->pass = $row['pass'];
 
		$this->idutilisateur = $row['idutilisateur'];
		$this->nomutilisateur = $row['nomutilisateur'];
		$this->email = $row['email '];
		$this->datecreation = $row['datecreation'];
		$this->datepremiereconnexion = $row['datepremiereconnexion'];
		$this->datedernierconnexion = $row['datedernierconnexion'];
		$this->idfiliale = $row['idfiliale'];
		}
}?>
puis enfin le code de conf/conf.php
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<?php
$server="localhost";
$login="sat";
$password="sedoc";
$base="test_sat_3";
/*
<com> Dans le cas d'un travail en local sur phpmyadmin sans avoir crée d'utilisateur, enlevez les commentaires ci  
dessous, et mettez la prtie ci dessus en commentaire, pour affecter les bonnes valeurs selon le type de connexion. jb070416 </com>
*/
/*
$server="localhost";
$login="root";
$password="";
$base="tao";
*/
/*  Version   */
$version = "1-1-0";
/*
<com> Procédure de connexion. Besoin des infos serveur, login et password. Le '@' permet de ne pas afficher les   
erreurs/warning éventuellement produits, le"p" de "pconnect" permet d'effectuer une connexion persistante. jb070416 </com>
connexion à MySQL:
*/
$db = mysql_pconnect("$server", "$login", "$password") or die ('Erreur :'.mysql_error());
/*$db = mysql_pconnect("$server", "$login", "$password") or die ('Erreur :'.mysql_error());*/
/*
<com> Procédure qui va se connecter a la base de donnée $base en utilisant la valeur retour $db de la précédente procédure de connexion   
Sélection de la BDD : jb070416 </com>
*/
mysql_select_db("$base",$db) or die ('Erreur :'.mysql_error() ); 
/*mysql_select_db("$base",$db) or die ('Erreur :'.mysql_error() ); */
 
/* en local
define('HOST', 'localhost');
define('USER', 'root');
define('PASSWORD', '');
define('BDD', 'projweb');
 $idconnexion = @mysql_pconnect(HOST, USER, PASSWORD);
 $connexionreussie = @mysql_select_db(BDD, $idconnexion); 
 */
?>
Cela serait super sympa de m'aider, j'ai pourtant l'impresison de ne pas envoyer de html avant... je susi perdu
hidakwon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/04/2007, 14h29   #2
Invité régulier
 
Inscription : mars 2007
Messages : 12
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 12
Points : 5
Points : 5
Vérifie qu'il n'y a pas un espace ou une ligne blanche avant le "<?php" de ton index.
FabienM est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h27.


 
 
 
 
Partenaires

Hébergement Web