probleme avec les sessions

Invité
Invité n'ayant pas de compte PHPfrance

03 sept. 2005, 22:24

salut
il y a ce message que je rencontre souvent

Code : Tout sélectionner

Warning: session_start(): Cannot send session cookie - headers already sent by
comment puis je mefier ce genre d'erreurs

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

03 sept. 2005, 22:31

tout simplement en évitant de mettre avant session_start() du code (que ce soit HTML ou php), des espaces ...

bref faut absolument rien mettre devant <?session_start()

Invité
Invité n'ayant pas de compte PHPfrance

03 sept. 2005, 22:41

donc si je fais comme ca
<?php
session_start();
?>
<html>
<head>
<?php
//
?>
</head>

<body>
//
</body>
</html>
ce code session_start serai appliquer a tous, je vais le faire dans mon index.php

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

03 sept. 2005, 22:48

ce code session_start serai appliquer a tous
"tous" koi ???? toutes les pages php?

sur toutes les pages ou tu voudras utiliser les variables de session tu devras remettre <?session_start();?>
et tu pouras utiliser ces meme var de session ts toute la page
en espérant avoir été clair :wink:

Invité
Invité n'ayant pas de compte PHPfrance

03 sept. 2005, 23:03

je m'explique, ici sur index.php jai du code html et php alor que d'apres votre explication, session_start ne doit pa etre precedee par un html ou bien php, ce que j'ai fais dans index.php ou ya des pseudo frames c'est:
<?php
session_start();
?>
<html>
<head>
<?php

include ("include_files/headers.php");
include ("include_files/HowManyCarachtersLeft.php");
?>
</head>

<body topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0">
<table align="center" width="85%" border="0" cellspacing="0" cellpadding="2">
  <tr>
    <td>
	<?php
include ("include_files/menu.php");
?>
</td>
  </tr>
  <tr>
    <td>
	<?php
include ("body.php");
?>
</td>
  </tr>
  <tr>
    <td>
	<?php
include ("include_files/footers.php");
?>
</td>
  </tr>
</table>

</body>
</html>

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

03 sept. 2005, 23:11

oui voila ce code me semble correct :wink:

Invité
Invité n'ayant pas de compte PHPfrance

03 sept. 2005, 23:16

merci, je veux ameliorer le code avec une cookie, alors ici je veux mettre une cookies avec expiration (auto logout), je pense un truc ainsi:
$cookie_name = "auth";
$cookie_value = "success";
$cookie_expire = time()+86400;
$cookie_domain = "127.0.0.1";
setcookie($cookie_name, $cookie_value, $cookie_expire, "/" , $cookie_domain, 0);
mais ca me donne l'erreur aussi de headers ...

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

03 sept. 2005, 23:31

pr les cookie(s) ca se passe de la meme manière (pas de HTML avant)tu met le bout de code apres le <?session_start(); ..
et il ne devrai plus y avoir d'erreur