Page 1 sur 1

Problème header()

Posté : 03 mars 2006, 20:06
par Ader
Bonjour (ou plutôt bonsoir :p)
J'ai un soucis avec un header(), voici mon code :
<?
// On démarre la session
session_start();

// On écrase le tableau de session
$_SESSION = array();

// On détruit la session
session_destroy();

header ('Location: /index.php');
exit();
?>
Je me suis coltiné toute la doc, j'ai lu un nombre X de message sur ce forum : je n'ai pas de HTML ni de echo ni de rien : alors qu'est ce qui coince?
Voici le message d'erreur :
Warning: Cannot modify header information - headers already sent by (output started at /var/www/free.fr/8/a/azerty/qsdf/index.php:13) in /var/www/free.fr/8/a/azerty/qsdf/_files/_sql/deco.php on line 13
Si vous avez une idée, d'avance merci :D [/php]

Posté : 03 mars 2006, 20:11
par Truc
Salut,

il semble que ce bout de code est inclus dans un autre, index.php.

Regarde vers la ligne 13 ce que tu as, meme pas un saut de ligne

Posté : 03 mars 2006, 21:32
par Ader
Voici ma ligne 13 :

Code : Tout sélectionner

<td><table border="0" cellpadding="0" cellspacing="0" width="882">
^^

Posté : 03 mars 2006, 22:26
par Truc
et c'est quoi comme code ça ? :o

pourquoi faire est-ce que tu inclus le code de déconnexion dans un tableau ?

suffit d'un lien qui envois sur une page qui contient le code de déconnexion c tout.

Posté : 03 mars 2006, 22:46
par Ader
Alors voilà,
La page de déconnexion est celle ci dessus. Elle est entière la haute hein !!
il semble que ce bout de code est inclus dans un autre, index.php.

Regarde vers la ligne 13 ce que tu as, meme pas un saut de ligne
Le code ci dessus est celui de la ligne 13 de la page index.php :)
Je ne comprend d'ailleur pas pourquoi ce fichier intervient... :roll: [/code]

Posté : 03 mars 2006, 23:13
par Truc
Alors voilà,
La page de déconnexion est celle ci dessus. Elle est entière la haute hein !!
in /var/www/free.fr/8/a/azerty/qsdf/_files/_sql/deco.php on line 13
L'erreur est relevée à la ligne 13 du fichier deco.php le header je suppose. Dans le code ici il n'y a pas 13 lignes il n'est donc pas au complet, verifis si tu débute le fichier par <? sans saut de lignes.
Je ne comprend d'ailleur pas pourquoi ce fichier intervient... :roll:
tu n'as pas un:
include("deco.php");
ou require dans "index.php" ?

Posté : 03 mars 2006, 23:51
par Ader
Ah si voici le code complet de la page "deco.php" :
<?
// On démarre la session
session_start();

// On écrase le tableau de session
$_SESSION = array();

// On détruit la session
session_destroy();
header ('Location: ../../index.php');
exit();
?>
C'est pour ca que je ne vois pas le problème :'(

Posté : 04 mars 2006, 00:18
par Truc
On ne va pas avancer très vite si tu ne fouris pas plus de précisions :?
Je veux bien te croire que le fichier ne contient rien de plus mais:
tu n'as pas un:
include("deco.php");
ou require dans "index.php" ?

Posté : 04 mars 2006, 10:58
par Ader
Oui j'ai un fichier "get.php" qui contient toutes les références à mes fichiers :
<?
switch($_GET[p])
{

//-----------------------------//
//           GENERAL           //
//-----------------------------//
case'news':
include('_files/_fr/_news/index.php');
break;
Ce fichier get.php est :
<? include ('get.php'); ?>
Dans index.php

Voilà :D

Posté : 04 mars 2006, 11:09
par Truc
si tu inclus un fichier A dans un fichier B le code A est considéré à la suite de B.
Donc si tu as du code HTML avant l'inclusion de ton fichier A contenant le header alors il y aura aussi du code avant le header => erreur.

comment arrives tu sur la page de déconnexion, un lien certainement ?

Posté : 04 mars 2006, 11:15
par Ader
si tu inclus un fichier A dans un fichier B le code A est considéré à la suite de B.
Donc si tu as du code HTML avant l'inclusion de ton fichier A contenant le header alors il y aura aussi du code avant le header => erreur.

comment arrives tu sur la page de déconnexion, un lien certainement ?
Ah je n'avais pas cette logique :oops:
Je pensais qu'il ne fallait rien avant le header() QUE dans le fichier du header....

Oui j'utilise un lien.
Comment puis je effectuer ma déconnexion alors? Sans utiliser d'include?

Posté : 04 mars 2006, 11:20
par Truc
un simple lien:
<a href="deco.php"> Déconnexion </a>
devrai suffir, pas d'inclusion et une redirection dans le fichier deco.php avec le header mène sur l'index.

Posté : 04 mars 2006, 11:26
par Ader
Très bien je vais essayer comme cela alors...

Merci du coupe de pouce :D

(Pouvez vous passez en résolu svp?? :D )

Merci !

Posté : 04 mars 2006, 11:44
par Truc
De rien :wink:
(Pouvez vous passez en résolu svp?? :D )

Moi non, mais un modo oui.

En t'inscrivant tu poura effectuer cette opération toi même, pense y pour la prochaine fois :)