Redirection et traitement de la page redirigée..

Perrine
Invité n'ayant pas de compte PHPfrance

02 janv. 2008, 21:10

Salut,

Je voudrais savoir quelle fonction utilisée pour mon problème : J'ai une URL, quand on la tape dans le navigateur elle nous redirige vers une autre page.
Je voudrais donc que php "suive" cette redirection et me renvoie la page après la redirection.
Je ne vois pas trop quelle fonction pourrai me faire ca.
Merci pour votre aide.

ViPHP
ViPHP | 1996 Messages

02 janv. 2008, 22:31

tu cherches à suivre une autre page via PHP. PHP est un langage côté serveur, aussi j'ai pas l'impression de comprendre ce que tu veux.
It is nice to be important but it is more important to be nice
http://www.aureuswebfactory.fr

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

02 janv. 2008, 23:38

header() :-k

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

ViPHP
ViPHP | 1996 Messages

02 janv. 2008, 23:42

Mouais :-k mais je ne suis pas sûr que c'est cela qu'elle recherche peut être qu'en HTML :

Code : Tout sélectionner

<META HTTP-EQUIV="Refresh" CONTENT="nbsecondes;URL='page.html'">
It is nice to be important but it is more important to be nice
http://www.aureuswebfactory.fr

Mammouth du PHP | 1885 Messages

03 janv. 2008, 00:20

PHP ne peut "suivre" une redirection puisque PHP est un langage côté-serveur. Lors de l'appel à la nouvelle page, une nouvelle requête HTTP sera initiée et toutes les données PHP seront perdues.

Si tu dois passer des variables entre tes 2 pages, utilise les sessions PHP ou passe les dans l'URL.
La programmation est l'expression de la poésie d'un programmeur
Génération PHP

Perrine
Invité n'ayant pas de compte PHPfrance

03 janv. 2008, 12:39

Merci pour vos réponses.
Je me suis peut etre mal exprimée : En fait sur la page redirigée je veux faire un traitement dessus (preg_match ect) je ne veux pas rediriger le visiteur..
Mais si je créé un handle sur ma 1ere URL, mon pregmatch ne fonctionnera pas, je veux faire mon pregmatch sur la page redirigé..

J'ai regardé headers(), d'apres vous je dois envoyer une requete sur mon URL et regarder la réponse dans les headers ? le champ location par exemple ?
Merci

Mammouth du PHP | 1885 Messages

03 janv. 2008, 13:01

Peut-être un appel à ta page via la fonction file_get_contents et le protocole http:// ?

Tu pourras ensuite utiliser ta regexp sur le contenu retourné.
La programmation est l'expression de la poésie d'un programmeur
Génération PHP

Perrine
Invité n'ayant pas de compte PHPfrance

03 janv. 2008, 13:50

Oui mais par la meme occasion je voudrais aussi connaitre l'URL de page redirigée car ma regexp travaille sur la page et sur les query string de l'URL aussi :/

Perrine
Invité n'ayant pas de compte PHPfrance

03 janv. 2008, 15:30

Re,

J'ai essayé avec get_headers(), voilà mon code :
<?php
$url = 'http://localhost/redirection.php';
print_r(get_headers($url));
?>
la page redirection.php redirige vers page1.php

J'ai cette erreur :
Warning: get_headers(http://localhost/redirection.php) [function.get-headers]: failed to open stream: HTTP request failed!

Pourtant cet url est bien accessible dans mon navigateur.

Est-ce à cause de le redirection que get_headers() plante ?

Merci.

Perrine
Invité n'ayant pas de compte PHPfrance

04 janv. 2008, 14:30

Personne ne peut m'aider ?

Eléphant du PHP | 353 Messages

04 janv. 2008, 14:37

Hum..
Ce n'est sans doute pas la solution, mais a tu essayés de remplacer localhost par 127.0.0.1 ou même de juste mettre le nom du fichier.

Sinon je te conseil d'installer le plugin firefox "Live HTTP Header" qui te permet de suivre les requetes HTTP qui sont effectuées.

Je dois dire que je ne vois pas trop comment t'aider en fait. Si j'ai le temps je testerais un peu voir d'où cela peut venir.