Aller au contenu

Redirection en php ?


Siron

Messages recommandés

Bonjours, je cherche le moyen de rediriger sur une page via php.

J'ai essayé avec header("location: url"); mais il m'affiche le message d'erreur :

Warning: Cannot modify header information - headers already sent by (output started at url:13) in url on line 142

Url = l'adresse du dossier source du site dans le message d'erreur.

Comment faire ?

Merci d'avance pour les réponses.

Siron

Lien vers le commentaire
Partager sur d’autres sites

Comme indiqué dans la doc PHP, tu ne dois faire aucun output avant d'utiliser la fonction Header. Donc, pas de echo, pas de print, pas même une ligne blanche avant le bloc php où tu appelles Header.

-> voir la doc...

Et si la redirection doit se trouver en plein millieu d'une page web ?

Lien vers le commentaire
Partager sur d’autres sites

J'ai trouvé un truc simple qui fonctionne, mais heu, je suis pas sur que se soit conforme aux standards :

echo '<meta http-equiv="Refresh" content="1;URL=page2.html">'

Je crois que c'est pas conforme aux standards parceque cette ligne se trouve dès lors dans le body et non dans le head.

Mais quoi qu'il en soit ça marche bien en casi instantané.

Maintenant je suis confronté à une autre inconnue :

Comment vider les variable $_GET[''] aussitôt que on en à plus besoin ?

J'ai tenté naivement le $_GET[''] = ""; mais non, ça marche pas lol.

Lien vers le commentaire
Partager sur d’autres sites

Pour les redirections sauvages en milieu de page, j'utilise cette fonction PHP (pas ultra-propre, mais ça fonctionne) :

// fonction de redirection
function redir($url){
echo '<script language="javascript">';
echo 'window.location="'.$url.'";';
echo '</script>';
}

PHP + JAVASCRIPT = :chinois:

Pour une redirection :francais: tu crois pas?

Lien vers le commentaire
Partager sur d’autres sites

<meta http-equiv="Refresh" content="1;URL=page2.html"> >>>c'est pa du PHP c'est du html et c'est beaucoup plus facil de faire une redirection en html que en php, pk se prendre la tete ? 1 petite ligne suffit... :p

C'est ce que j'ai utilisé.

Et personne ne sait comment vider les variables post ?

Lien vers le commentaire
Partager sur d’autres sites

Reposte = actualise ?

Oui, je rappelle ma page avec ma fonction sauvage redir() :

// fonction de redirection sauvage
function redir($url){
echo '<script language="javascript">';
echo 'window.location="'.$url.'";';
echo '</script>';
}

Attention : à n'utiliser qu'en cas d'extrème urgence....

Normalement, un header() serait plus correct.

Lien vers le commentaire
Partager sur d’autres sites

j'ai pas tous lu

mais rediriger avec le PHP est impossible après le moindre affichage

en bon script tu ne doit afficher ton text que en fin d'exécution de script, de cette manière la redirection avec le header est efficace sinon la seul solution est le javascript en cours d'affichage mais bcp moins propre.

un script php doit etre décomposé en différenciant bien le script qui traite l'information et celui qui traite l'affichage.

dans tous les bon script l'affichage est géré en template (sorte de masque d'affichage), seul gros hic c'est de bien comprende ce type de fonctionnement qui demande de l'expérience et surtout de la patience.

l'idéal est de trouver un bon script complet et de l'adapter en utilisant ces fonctions internes.

exemple de mon site

adaptation de phpbb avec un gestionnaire de page

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...