Redirection --> header
Fermé
wazertyuiop
Messages postés
32
Date d'inscription
jeudi 10 février 2011
Statut
Membre
Dernière intervention
18 février 2011
-
10 févr. 2011 à 11:31
Groarh Messages postés 682 Date d'inscription vendredi 1 août 2008 Statut Membre Dernière intervention 28 juin 2015 - 10 févr. 2011 à 14:23
Groarh Messages postés 682 Date d'inscription vendredi 1 août 2008 Statut Membre Dernière intervention 28 juin 2015 - 10 févr. 2011 à 14:23
3 réponses
Groarh
Messages postés
682
Date d'inscription
vendredi 1 août 2008
Statut
Membre
Dernière intervention
28 juin 2015
185
10 févr. 2011 à 12:19
10 févr. 2011 à 12:19
Salut,
il y a du code HTML ou des sauts de ligne dans les 5 premières lignes de ton fichier, tu dois les retirer.
L'idéal serait que ton fichier commence directement par <? pour éviter ce genre de problème.
https://www.php.net/manual/fr/function.header.php
;)
il y a du code HTML ou des sauts de ligne dans les 5 premières lignes de ton fichier, tu dois les retirer.
L'idéal serait que ton fichier commence directement par <? pour éviter ce genre de problème.
https://www.php.net/manual/fr/function.header.php
;)
wazertyuiop
Messages postés
32
Date d'inscription
jeudi 10 février 2011
Statut
Membre
Dernière intervention
18 février 2011
1
Modifié par wazertyuiop le 10/02/2011 à 12:30
Modifié par wazertyuiop le 10/02/2011 à 12:30
ok, aurais tu alors, une autre solution a me proposer ? car il dois forcément y avoir du code avant en fait j'ai un bouton submit quand je le click , il effectue des opérations et ensuite, une fois ces opérations effectuées je dois rediriger sur une ancre.
J'ai essayé plusieurs codes javascript trouvés sur le net, rien n'a marché.
En gros j'ai besoin de faire
if (isset(...))
{
req="select..."
....
--> redirection vers l'ancre
}
PS: il n'y avait aucun saut de ligne ce n'était pas la cause du problème ( ce n'est pas le premier site internet que je créer)
J'ai essayé plusieurs codes javascript trouvés sur le net, rien n'a marché.
En gros j'ai besoin de faire
if (isset(...))
{
req="select..."
....
--> redirection vers l'ancre
}
PS: il n'y avait aucun saut de ligne ce n'était pas la cause du problème ( ce n'est pas le premier site internet que je créer)
Groarh
Messages postés
682
Date d'inscription
vendredi 1 août 2008
Statut
Membre
Dernière intervention
28 juin 2015
185
10 févr. 2011 à 14:23
10 févr. 2011 à 14:23
Re,
pour clarifier les choses, voyons la chronologie entière du chargement d'une page PHP :
1- le navigateur émet une requête HTTP vers ton serveur (après un clic sur un lien, une soumission de formulaire, ou autre). Ce faisant, il ouvre une connexion HTTP entre le serveur et lui.
2- Le serveur trouve la page demandée (si tout se passe bien), et la passe à son interpréteur PHP. Il prépare également les en-têtes HTTP à envoyer par défaut (type MIME, encodage, etc.). C'est à ce moment que tu peux rajouter des en-têtes avec la fonction header.
3- Dès que l'interpréteur PHP arrive à un moment où il doit envoyer du code HTML vers le navigateur, il envoie tous les en-têtes de la page en utilisant la connexion qui a été ouverte par le navigateur, puis envoie le code HTML. À partir de ce moment, il n'est plus possible de rajouter des en-têtes.
4- Une fois que la dernière donnée a été envoyée, la connexion HTTP est fermée, et l'interpréteur PHP s'arrête.
Il y a une solution assez simple à ton problème : rajoute l'ancre dans l'attribut action de ton formulaire. Si tu génères ton formulaire avec PHP, tu peux choisir la valeur en fonction de ton « $_GET['redirigers'] ».
;)
pour clarifier les choses, voyons la chronologie entière du chargement d'une page PHP :
1- le navigateur émet une requête HTTP vers ton serveur (après un clic sur un lien, une soumission de formulaire, ou autre). Ce faisant, il ouvre une connexion HTTP entre le serveur et lui.
2- Le serveur trouve la page demandée (si tout se passe bien), et la passe à son interpréteur PHP. Il prépare également les en-têtes HTTP à envoyer par défaut (type MIME, encodage, etc.). C'est à ce moment que tu peux rajouter des en-têtes avec la fonction header.
3- Dès que l'interpréteur PHP arrive à un moment où il doit envoyer du code HTML vers le navigateur, il envoie tous les en-têtes de la page en utilisant la connexion qui a été ouverte par le navigateur, puis envoie le code HTML. À partir de ce moment, il n'est plus possible de rajouter des en-têtes.
4- Une fois que la dernière donnée a été envoyée, la connexion HTTP est fermée, et l'interpréteur PHP s'arrête.
Il y a une solution assez simple à ton problème : rajoute l'ancre dans l'attribut action de ton formulaire. Si tu génères ton formulaire avec PHP, tu peux choisir la valeur en fonction de ton « $_GET['redirigers'] ».
;)