Comment coder une redirection automatique ?

Invité
Invité n'ayant pas de compte PHPfrance

17 mai 2005, 17:57

Bonjour, je voudrais savoir comment on peut faire pour coder en PHP une redirection automatique.

Je m'explique :

J'ai un forum en PHP. lorsqu'on tape l'adresse du forum, il lance automatiquement un module en PHP. Depuis quelque temps, j'ai déplacer mon forum dans un autre répertoire.

Je voudrais donc modifier le module en PHP (celui du répertoire initial) pour qu'il lance automatiquement un autre module en PHP se trouvant dans un autre répertoire.


Si quelqu'un pouvait m'aider (je débute en PHP)

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

17 mai 2005, 17:58

// rien avant
header("Location: <url>");
http://fr.php.net/header

Invité
Invité n'ayant pas de compte PHPfrance

17 mai 2005, 18:00

Si j'ai bien compris, je vire TOUT ce qu'il y a dans le module en PHP et je met juste :


// rien avant
header("Location: www.toto.com/xxx/titi.php");


C'est bien çà ?

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

17 mai 2005, 18:09

en fait non

j'ai été vite tu peux mettre du PHP avant (des tests, des connexions vers une Bdd)

mais pas de sortie HTML ou autre
N'oubliez jamais que header() doit être appelée avant que le moindre contenu ne soit envoyé, soit par des lignes HTML habituelles dans le fichier, soit par des affichges PHP. Une erreur très classique est de lire un fichier avec include() ou require(), et de laisser des espaces ou des lignes vides, qui génèreront un affichage avant que la fonction header() ne soit appelée. Le même problème existe avec les fichiers PHP/HTML standards.
Modifié en dernier par ouckileou le 17 mai 2005, 18:09, modifié 1 fois.

Mammouth du PHP | 19672 Messages

17 mai 2005, 18:09

C'est ça, mais la condition, c'est que tu n'envoies pas d'en-tête http avant cette ligne, sinon, ça va bugguer.

Tu peux avoir par exemple un traitement complet et à la fin en fonction de tel ou tel résultat, tu rediriges vers telle ou telle page: à ce stade, rien n'a été envoyé au navigateur et ça va fonctionner.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Invité
Invité n'ayant pas de compte PHPfrance

17 mai 2005, 18:13

voici ce que j'ai mis :

/////////////////////////////////////////////////
<?php

header("Location: www.aaaa.com/PHPBB2/portal.php");


?>

///////////////////////////::

C'est bon ou pas ?

Mammouth du PHP | 19672 Messages

17 mai 2005, 18:18

presque: vire la ligne vide entre <?php et header... par précaution.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

ViPHP
pjl
ViPHP | 2119 Messages

17 mai 2005, 18:57

Si c'est un répertoire complet que tu as déplacé, tu peux aussi gérer celà avec un .htaccess.