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 26/10/2006, 11h18   #1
Membre régulier
 
Avatar de Jiraiya42
 
Inscription : mai 2005
Messages : 656
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : mai 2005
Messages : 656
Points : 76
Points : 76
Par défaut [Cookies] Problème envoi de cookies

Bonjour,

J'ai un soucis, je teste mon site en local, tout marche, je le mets sur le serveur Free et j'ai plusieurs erreurs, notamment celle là:

Code :
1
2
 
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /mnt/138/sdb/8/3/toutpourpc/index.php:9) in /mnt/138/sdb/8/3/toutpourpc/fonctions/verif.php on line 2
J'ai vérifié dans le verif.php qui suit et rien ne me semble bizarre pourtant. Il appel le fichier fonc_verif.php que je mets aussi à la suite

Code :
1
2
3
4
5
 
<?
session_start();
require("fonc_verif.php");
?>
Code :
1
2
3
4
5
6
7
8
9
10
11
 
<?
           if(!isset($_SESSION['registered']))
		{
			header ('location: ./fonctions/refus.php');
		} 
		else
		{
			echo '<p align=center>'.$_SESSION["login"].', vous êtes connecté :o)</p><br>';
		}
?>
Et je n'arrive pas du tout à corriger cette erreur, quelqu'un pourrait-il m'aider svp ?

Merci d'avance...
Jiraiya42 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/10/2006, 11h58   #2
Membre régulier
 
Avatar de Jiraiya42
 
Inscription : mai 2005
Messages : 656
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : mai 2005
Messages : 656
Points : 76
Points : 76
Le problème est résolu mais j'ai ce message maintenant:

Code :
1
2
 
Warning: Cannot modify header information - headers already sent by (output started at /mnt/138/sdb/8/3/toutpourpc/index.php:9) in /mnt/138/sdb/8/3/toutpourpc/fonctions/fonc_verif.php on line 4
J'ai recherché sur Internet et apparament la cause est généralement le fait d'avoir générer du code HTML avant mais là j'en ai pas:

Code :
1
2
3
4
5
6
7
8
9
10
11
 
<?
	if(!isset($_SESSION['registered']))
		{
			header ('location: ./fonctions/refus.php');
		} 
		else
		{
			echo '<p align=center>'.$_SESSION["login"].', vous êtes connecté :o)</p><br>';
		}
?>
Quelqu'un peut m'aider svp ?
Jiraiya42 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/10/2006, 12h07   #3
Membre émérite

 
Avatar de FCYPBA
 
Inscription : novembre 2004
Messages : 735
Détails du profil
Informations personnelles :
Âge : 33
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : novembre 2004
Messages : 735
Points : 924
Points : 924
Cela doit provenir d'un blanc qui traine avant l'ouverture des balises php
__________________
Pierre
1. Dans le manuel ( PHP, MySQL,..., rayez la mention inutile), tu te plongeras à deux fois plutôt qu'aucune.
2. Dans la doc php, tu liras attentivement les sections Chaines de caractères, Tableaux et Système de fichiers
3. Un code rapide c'est bien, un code maintenable c'est mieux
...

Why was the font tag an orphan ? Because it didn't have a font-family.
FCYPBA est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/10/2006, 12h22   #4
Membre régulier
 
Avatar de Jiraiya42
 
Inscription : mai 2005
Messages : 656
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : mai 2005
Messages : 656
Points : 76
Points : 76
Citation:
Envoyé par FCYPBA
Cela doit provenir d'un blanc qui traine avant l'ouverture des balises php
Non justement, aucun blanc avant les balises, j'avais vérifié et la balise php commence bien ligne 1 donc pas de blanc avant, je comprends pas...
Jiraiya42 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/10/2006, 12h30   #5
Membre régulier
 
Avatar de Jiraiya42
 
Inscription : mai 2005
Messages : 656
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : mai 2005
Messages : 656
Points : 76
Points : 76
Je fais appel à ce fichier à l'aide d'un include dans mes pages, est-ce que ça pourrait venir de là svp ?
Jiraiya42 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/10/2006, 12h54   #6
Membre émérite

 
Avatar de FCYPBA
 
Inscription : novembre 2004
Messages : 735
Détails du profil
Informations personnelles :
Âge : 33
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : novembre 2004
Messages : 735
Points : 924
Points : 924
Oui, il faut que rien n'ait été envoyé par la page appelante ou un autre include placé avant. Le mieux étant de placer cet include toujours au début des pages comme ça pas de soucis
__________________
Pierre
1. Dans le manuel ( PHP, MySQL,..., rayez la mention inutile), tu te plongeras à deux fois plutôt qu'aucune.
2. Dans la doc php, tu liras attentivement les sections Chaines de caractères, Tableaux et Système de fichiers
3. Un code rapide c'est bien, un code maintenable c'est mieux
...

Why was the font tag an orphan ? Because it didn't have a font-family.
FCYPBA est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/10/2006, 20h58   #7
Membre régulier
 
Avatar de Jiraiya42
 
Inscription : mai 2005
Messages : 656
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : mai 2005
Messages : 656
Points : 76
Points : 76
Je n'arrive pas à résoudre mon problème, je ne vois pas où est mon erreur

Ceci est mon code appelant le fichier verfi.php incriminé:
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
50
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >	
 
    <head>
		<title>Tout Pour le PC !</title>	
		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
		<link href="./forme/style.css" rel="stylesheet" type="text/css" />
		<!--[if lte IE 6]>
		   <link href="./forme/style_IE.css" rel="stylesheet" type="text/css" />
		<![endif]-->
	</head>
 
	<body> 
		<!-- Fond -->
		<div id="ossature">
 
			<!-- L'en-tête -->
			<div id="header">
			</div> 
 
			<!-- Les menus -->
			<div id="menu_global">
				<div id="menu">
					<? include './forme/menu_www.php' ?>
				</div>
			</div> 
 
			<!-- Corps -->
			<div id="corps">
				<div class="boite">	
					<div class="titre_boite"> 
						Connectez-vous
					</div>
					<? include './fonctions/verif.php' ?>
				</div> 
				<br>
				<div class="boite">	
					<div class="titre_boite">
						News
					</div>  
					<? include './forme/boite_news.php' ?> 
					<br><br><br><br><br><br><br><br><br><br>
				</div>
			</div> 
		</div> 
		<div id="fin"><br>Copyright "Toutpourpc", 2006, Tous Droits Réservés</div>
	</body>
 
</html>
Et le code de mon fichier verif.php:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
 
<?php
	  session_start();
	  if (!isset($_SESSION['registered']))
		{
			header ('location: ./fonctions/refus.php');
		} 
		else
		{
			echo '<p align=center>'.$_SESSION["login"].', vous êtes connecté :o)</p><br>';
		}
?>
Et les erreurs:
Code :
1
2
3
4
5
6
 
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /mnt/138/sdb/8/3/toutpourpc/index.php:9) in /mnt/138/sdb/8/3/toutpourpc/fonctions/verif.php on line 2
 
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /mnt/138/sdb/8/3/toutpourpc/index.php:9) in /mnt/138/sdb/8/3/toutpourpc/fonctions/verif.php on line 2
 
Warning: Cannot modify header information - headers already sent by (output started at /mnt/138/sdb/8/3/toutpourpc/index.php:9) in /mnt/138/sdb/8/3/toutpourpc/fonctions/verif.php on line 5
Quelqu'un peut m'aider svp ? Là je sature, je trouve pas, c'est frustrant d'autant plus qu'il ne reste plus qu'à le mettre en ligne pour qu'il fonctionne
Jiraiya42 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/10/2006, 21h45   #8
Membre émérite

 
Avatar de FCYPBA
 
Inscription : novembre 2004
Messages : 735
Détails du profil
Informations personnelles :
Âge : 33
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : novembre 2004
Messages : 735
Points : 924
Points : 924
Oui tu n'as pas suivi la recommandation que je t'ai faite.

A savoir placer le session_start au début du fichier. Là l'include est fait à un moment ou tu as déjà envoyé au bas 300 octets vers le navigateur

Tu dois faire comme ca :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
<? include './fonctions/verif.php' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
...
			<!-- Corps -->
			<div id="corps">
				<div class="boite">	
					<div class="titre_boite"> 
						Connectez-vous
					</div>
					<?php echo $msg; ?>
				</div> 
				<br>
...
</html>
et dans le fichier verif.php au lieu de faire un echo du message du le stocke dans la variable $msg.
__________________
Pierre
1. Dans le manuel ( PHP, MySQL,..., rayez la mention inutile), tu te plongeras à deux fois plutôt qu'aucune.
2. Dans la doc php, tu liras attentivement les sections Chaines de caractères, Tableaux et Système de fichiers
3. Un code rapide c'est bien, un code maintenable c'est mieux
...

Why was the font tag an orphan ? Because it didn't have a font-family.
FCYPBA est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/10/2006, 22h04   #9
Membre régulier
 
Avatar de Jiraiya42
 
Inscription : mai 2005
Messages : 656
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : mai 2005
Messages : 656
Points : 76
Points : 76
Citation:
Envoyé par FCYPBA
Oui tu n'as pas suivi la recommandation que je t'ai faite.
Oui très juste désolé, mais je ne savais pas comment faire pour récupérer le résultat dans mon div dans ce cas là

Tu m'éclaires bien merci Pitite chose j'ai un soucis dans mon verif.php pour "remplir" la variable $msg, j'ai mis:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
 
<?php
	  session_start();
	  if (!isset($_SESSION['registered']))
		{
			$msg = "header ('location: ./fonctions/refus.php')";
		} 
		else
		{
			$msg = "<p align=center>'."$_SESSION["login"]".', vous êtes connecté :o)</p><br>";
		}
?>
Mais ça ne marche pas, je sais que c'est une question bete mais je trouve pas
Jiraiya42 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/10/2006, 22h42   #10
Inactif
 
Avatar de Kerod
 
Inscription : septembre 2004
Messages : 11 753
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 11 753
Points : 14 585
Points : 14 585
Déjà il y a une petite erreur de concaténation

Code :
$msg = '<p align="center">'.$_SESSION["login"].', vous êtes connecté :o)</p><br>';
Y'a-t-il une erreur précise ? Qu'est-ce qui s'affiche ?
Kerod est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/10/2006, 22h52   #11
Membre régulier
 
Avatar de Jiraiya42
 
Inscription : mai 2005
Messages : 656
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : mai 2005
Messages : 656
Points : 76
Points : 76
Citation:
Envoyé par Kerod
Déjà il y a une petite erreur de concaténation

Code :
$msg = '<p align="center">'.$_SESSION["login"].', vous êtes connecté :o)</p><br>';
Y'a-t-il une erreur précise ? Qu'est-ce qui s'affiche ?
Ah voilà mon erreur ! Là ça marche il n'y a plus d'erreur... ENFIN ! Merci beaucoup pour les réponses
Jiraiya42 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h05.


 
 
 
 
Partenaires

Hébergement Web