Redirection supplémentaire refusée

Résolu
Signaler
Messages postés
1447
Date d'inscription
jeudi 2 novembre 2000
Statut
Membre
Dernière intervention
23 septembre 2007
-
Messages postés
1447
Date d'inscription
jeudi 2 novembre 2000
Statut
Membre
Dernière intervention
23 septembre 2007
-
Bonjour, je fais une deuxième redirection et ca me met cette erreur :

Warning: Cannot modify header information - headers already sent
by (output started at /mnt/152/sdc/f/f/manuel.debaux/index.php:17) in /mnt/152/sdc/f/f/manuel.debaux/index.php

Alors je sais pas comment faire pour qu'il accepte une deuxième fois la redirection.

Redman

12 réponses

Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
42
Salut
"l'autre modifications header qui sut celle qui fait erreur marche"
t'as du te planter quelquepart, de toute facon, avec ca t'as la solution non ?

une recherche sur exalead vous aurait peut-etre evite de poser cette question

In a dream, I saw me, drop dead...
U were there, U cried...
It was just a dream,
if I die, U won't cry, maybe, U'll be happy
Messages postés
2480
Date d'inscription
jeudi 30 novembre 2006
Statut
Membre
Dernière intervention
14 janvier 2011
18
Salut,

RTFM => http://ch2.php.net/manual/fr/function.header.php
Spécification HTTP 1.1 => http://www.faqs.org/rfcs/rfc2616

Une fois qu'un header a été envoyé, on ne peut pas en envoyer un autre.
Un entete s'envoie AVANT le corps du document. Une fois les entêtes envoyés, on ne peut pas en envoyer d'autre.

Donc si tu veux rediriger deux fois, il faut le faire dans deux scripts distincts : ce n'est pas possible dans le même script... D'ailleurs, je ne comprends même pas l'utilité de faire deux redirections dans le même script.
Messages postés
1447
Date d'inscription
jeudi 2 novembre 2000
Statut
Membre
Dernière intervention
23 septembre 2007
2
Ben un lien qui redirige sur index?page= et si c'est pour le blog ca redirige sur le blog.

Redman
Messages postés
2480
Date d'inscription
jeudi 30 novembre 2006
Statut
Membre
Dernière intervention
14 janvier 2011
18
Ben, t'as pas 2 redirection, mais une seule exécutée avecun if...
Tu veux faire quoi exactement ?
Messages postés
1447
Date d'inscription
jeudi 2 novembre 2000
Statut
Membre
Dernière intervention
23 septembre 2007
2
En fait j'ai un Menu avec liens à gauche et je fais un truc du genre après ca regarde si le $_GET['page'] est défini (si c'est pas le cas ca redirige sur index.php(la 2eme redirection marche dans ce cas)
si il est défini ca vérifie si la valeur est différent de 'blog' si c'est le cas ca charge un lien dans un tableu genre  : pages[$_GET['page']] et ca récupère et je fais un include avec la valeur $_GET['page']=='blog' dans ce cas ca doit rediriger sur le blog http://manuel.debaux.free.fr/Blog

Or ca marche pas alors que l'autre rediretion marche (sachant que c'est uen deuxième redirection)

si

Redman
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
42
Salut

erreur classique..

            http://www.phpcs.com/forum.v2.aspx?ID=619555
            http://www.phpcs.com/forum.v2.aspx?ID=726299
            http://www.phpcs.com/infomsg_URGENT-PROBLEME-SESSION_760601.aspx#6
            http://www.phpcs.com/infomsg.aspx?ID=848860
            http://www.phpcs.com/infomsg_PROBLEME-AUTHENTIFICATION-PHP_881149.aspx#1

c'est le meme probleme... taper juste l'erreur sur google te donne des choses detaillees... cette erreur revient chaque semaine... serieux, faut apprendre a utiliser le manuel, et meme juste traduire...

l'entete a deja ete envoyee... l'entete, c'est l'entete de ta requette http... qui vient donc avant tout ce qui est contenu dans le corps de la requette...

une recherche sur exalead vous aurait peut-etre evite de poser cette question

In a dream, I saw me, drop dead...
U were there, U cried...
It was just a dream,
if I die, U won't cry, maybe, U'll be happy
Messages postés
1447
Date d'inscription
jeudi 2 novembre 2000
Statut
Membre
Dernière intervention
23 septembre 2007
2
Ok j'ai pas recherché mais dans le meme code je disais que à un autre endroit c'est la deuxième redirection et ca marche et pourtant c'est pas au début du code. Bon vais voir les liens.

Redman
Messages postés
2480
Date d'inscription
jeudi 30 novembre 2006
Statut
Membre
Dernière intervention
14 janvier 2011
18
Décidément, y'a des messages qui restent totalement abscons pour moi...
Messages postés
1447
Date d'inscription
jeudi 2 novembre 2000
Statut
Membre
Dernière intervention
23 septembre 2007
2
J'ai regardé tes liens aucun explique d'où vient l'erreur et ce que obstart.
Bref si tu pouvais réponde clairement ca serait bien.

Redman
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
42
Salut

http://php.net/
http://fr2.php.net/manual/fr/function.header.php

header
(PHP 4, PHP 5)

header — Envoie un en-tête HTTP

Description
void header ( string string [, bool replace [, int http_response_code]] )
header() permet de spécifier l'en-tête » HTTP/1.1 Specification
pour plus d'informations sur les en-têtes ob_start() et
ob_end_flush() dans vos scrip

yahoo, j'ai fait ton travail... j'ai cherche ca m'a pris deux minutes...

PS : j'ai beau connaitre pas mal de choses sur le php, je suis incapable d'expliquer mieux que la doc...

une recherche sur exalead vous aurait peut-etre evite de poser cette question

In a dream, I saw me, drop dead...
U were there, U cried...
It was just a dream,
if I die, U won't cry, maybe, U'll be happy
Messages postés
1447
Date d'inscription
jeudi 2 novembre 2000
Statut
Membre
Dernière intervention
23 septembre 2007
2
Je vois que des messages ont été supprimés, dont le mien.
Je disais donc que ce qui meparâit louche c'est que l'autre modifications header qui sut celle qui fait erreur marche pourtant il est à la fin.

Redman
Messages postés
1447
Date d'inscription
jeudi 2 novembre 2000
Statut
Membre
Dernière intervention
23 septembre 2007
2
J'ai trouvé ! J'ai su réparer mon erreur le code était avec l'affichage mais pas au début mais j'ai réussi à contourner le problème. Merci !

Redman