[PHP] récupérer l'URL en cours

récupérer l'URL en cours [PHP] - Programmation

Marsh Posté le 17-12-2001 à 13:26:29    

voilà, c'est pas aussi simple que dans l'énoncé, je suis sur la page :
http://www.multimania.com/z0rglub/ [...] ?cat=matos
je voudrais récupérer uniquement http://www.multimania.com/z0rglub/photos
$REQUEST_URI donne /z0rglub/photos/diapo.php3?cat=matos
$HTTP_HOST donne www.multimania.com
 
comment faire pour avoir le nom complet de l'URL moins le ernier élément, soit ici diapo.php3[...]
 
Le but : que cette page marche aussi bien sur multimania et sur mon serveur web perso sans avoir à modifier le code source

 

[edtdd]--Message édité par z0rglub--[/edtdd]


---------------
Ma galerie photo créée avec Piwigo et hébergée sur Piwigo.com
Reply

Marsh Posté le 17-12-2001 à 13:26:29   

Reply

Marsh Posté le 17-12-2001 à 14:21:51    

j'ai trouvé, mais c'est pas très élégant je trouve :
 
$fichier_en_cours = strrchr($REQUEST_URI, "/" );
 $fin_url = str_replace($fichier_en_cours, "", $REQUEST_URI);
 $page_precedente_site = "http://".$HTTP_HOST.$fin_url."/identification.php3";


---------------
Ma galerie photo créée avec Piwigo et hébergée sur Piwigo.com
Reply

Marsh Posté le 17-12-2001 à 14:24:05    

essaie $PHP_SELF

Reply

Marsh Posté le 17-12-2001 à 15:31:07    

$PHP_SELF donne la même chaine que $REQUEST_URI


---------------
Ma galerie photo créée avec Piwigo et hébergée sur Piwigo.com
Reply

Marsh Posté le 17-12-2001 à 15:35:53    

non pas exactement, phpself ne donne pas les ?id=xxx...
 
donc --> $HTTP_HOST."/".$PHP_SELF
te donneras www.toinsite.com/rep/rep/tapage.html

Reply

Marsh Posté le 17-12-2001 à 15:38:47    

Je dis p't'être une connerie, mais pourquoi tu met pas juste :
$page_precedente_site = "identification.php3";
 
Y'a surement une raison ?


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 17-12-2001 à 15:49:47    

Mara's dad a écrit a écrit :

Je dis p't'être une connerie, mais pourquoi tu met pas juste :
$page_precedente_site = "identification.php3";
 
Y'a surement une raison ?  




 
Oui, la raison, c'est que ça marche pas, je fais un test sur HTTP_REFERER == identification.php3
 
J'aurais pu isoler la fin de HTTP_REFERRER et la comparer à identification.php3 ou alors trouver à koi HTTP_REFFERER devait être égal, quelquesoit le serveur qui héberge la page.
 
j'ai finalement mis :
$fin_url = substr($REQUEST_URI, 0, strrpos($REQUEST_URI, "//" ));
 $page_precedente_site = "http://".$HTTP_HOST.$fin_url."/identification.php3";
 
Qui est, vous en conviendrez, bien plus élégant. (un gars de phpinfo.net m'a aidé)


---------------
Ma galerie photo créée avec Piwigo et hébergée sur Piwigo.com
Reply

Marsh Posté le 17-12-2001 à 15:50:23    

le test, c'est :
if($HTTP_REFERER == $page_precedente_site)


---------------
Ma galerie photo créée avec Piwigo et hébergée sur Piwigo.com
Reply

Marsh Posté le 17-12-2001 à 15:59:16    

Ok, je savais bien qu'il y avait une bonne raison !


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed