Redirection en php ...

Résolu/Fermé
kevin76110 Messages postés 4273 Date d'inscription vendredi 14 août 2009 Statut Membre Dernière intervention 27 mars 2013 - Modifié par kevin76110 le 14/02/2012 à 11:21
SlyK Messages postés 854 Date d'inscription vendredi 11 mars 2011 Statut Contributeur sécurité Dernière intervention 6 octobre 2014 - 14 févr. 2012 à 11:21
Bonjour,

j'ai une page en php ( après un formulaire).
Cette page envoi un email etc.
Et, à la fin, j'aimerais faire une redirection, en fonction du résultat d'un des champs du formulaire.

J'ai donc fait une boucle (qui fonctionne):

if ($prise_text == "champs_1") {
header('Location: page1.php');

}

Si je fais un echo toto; à la placer de header, cela me renvoi bien toto.
Mais la page n'est pas redirigée.
Est-ce que c'est parce qu'il y a du code avant?

Comment faire cette redirection ?

Merci d'avance.

K.



°º¤ø,¸¸,ø¤º°'°º¤ø, Contributeur CCM °º¤ø,¸¸,ø¤º°'°º¤ø,
Sous Linux, 99% des bugs se situent entre le clavier et la chaise de bureau...
A voir également:

2 réponses

SlyK Messages postés 854 Date d'inscription vendredi 11 mars 2011 Statut Contributeur sécurité Dernière intervention 6 octobre 2014 147
Modifié par SlyK le 14/02/2012 à 11:12
Bonjour,

header tout comme session_start() doit être placé avant tout code HTML.
Pour faire une redirection utilise la balise <meta>.
echo ('<meta http-equiv="refresh" content="0;url=TA_PAGE.php" />');


N'oublie pas de stopper l'exécution du code après cette ligne, pour éviter qu'il continue à lire la page durant le chargement.
die;



Cordialement.
1
kevin76110 Messages postés 4273 Date d'inscription vendredi 14 août 2009 Statut Membre Dernière intervention 27 mars 2013 873
Modifié par kevin76110 le 14/02/2012 à 11:16
la redirection se ferait avant même que mon code s'execute :/
Et puis, je ne peux pas faire de condition, si ?
0
SlyK Messages postés 854 Date d'inscription vendredi 11 mars 2011 Statut Contributeur sécurité Dernière intervention 6 octobre 2014 147
14 févr. 2012 à 11:21
Pas de problème pour faire des conditions.
0
kevin76110 Messages postés 4273 Date d'inscription vendredi 14 août 2009 Statut Membre Dernière intervention 27 mars 2013 873
14 févr. 2012 à 11:15
<?php
    ob_start(); 
?>

tout le reste du code
<?php
    if ($prise_text == "champs_1") {
    header('Refresh: 0.001; url=/page1.php'); 
    ob_flush();
    }
    if ($prise_text == "champs_2") {
    header('Refresh: 0.001; url=/page2.php'); 
    ob_flush();
    }
?>
0
SlyK Messages postés 854 Date d'inscription vendredi 11 mars 2011 Statut Contributeur sécurité Dernière intervention 6 octobre 2014 147
14 févr. 2012 à 11:18
Le code a changé depuis ton exemple en haut.
As-tu essayé avec location écris sans "L" majuscule ?
header ('location: XXXX.php');
0