Script php en fonction d'une url

Résolu
faboons Messages postés 275 Date d'inscription   Statut Membre Dernière intervention   -  
faboons Messages postés 275 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai un problème avec un script php qui doit se lance en fonction d'une URL spécifique.

Celui-ci fonctionne quand l'URL est de type xxxxx.fr et ne fonctionne pas quand l'URL est sous la forme www.xxxxx.fr.

Comment supprimer le www. de l'URL pour que mon 2nd script fonctionne à tous les coups ?

Voici un extrait du script :

$monUrl = $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];  



if ( $monUrl == "xxxx.fr/ma_page.php") 

{ echo '<script type="text/javascript" src="libs/preload.js"></script>'; }


EDIT Dernière précision :


if ( $monUrl == "xxxx.fr/ma_page.php" OR  $monUrl == "www.xxxx.fr/ma_page.php) 


ne fonctionne pas.

@pluche.
Fab.

http://www.commentcamarche.net/forum/webmastering-24/new
A voir également:

4 réponses

Flachy Joe Messages postés 2102 Date d'inscription   Statut Membre Dernière intervention   261
 
Il faut utiliser l'opérateur || et pas OR
cf https://www.php.net/manual/fr/language.operators.logical.php
0
faboons Messages postés 275 Date d'inscription   Statut Membre Dernière intervention   50
 
Salut,

Merci pour ta réponse mais ça ne change rien, ça ne marche pas.

|| et OR sont des équivalents à ma connaissance et il n'y a pas de différences entre eux, j'ai déjà utilisé OR dans d'autres scripts.

Aurais-tu une autre suggestion ?

@ pluche.
Fab.
0
Fallentree Messages postés 2309 Date d'inscription   Statut Membre Dernière intervention   209
 
C est pas le " qui manque tout de meme
if ( $monUrl == "xxxx.fr/ma_page.php" OR $monUrl == "www.xxxx.fr/ma_page.php" )
0
faboons
 
Alors c'était bien vu malheureusement ce n'est pas ça et heureusement.
J'utilise editplus et il colore le code ça m'aurait vraiment fait chier.

Effectivement dans mon exemple ça manquait mais pas sur le site.
En plus dans le error log d'APACHE il n'y a pas d'erreur qui apparait, je suis perplexe....

Je t'avouerai que je sèche.

@ pluche.
Fab.
0
Flachy Joe Messages postés 2102 Date d'inscription   Statut Membre Dernière intervention   261
 
Or et || ne sont pas toujours équivalent bien qu'en effet ils le soient dans ton cas :
// "||" a un précédence supérieure à "or" 

// Le résultat de l'expression (false || true) est assigné à $e 
// Agit comme : ($e = (false || true) donc $e==true) 
$e = false || true; 

// La constante false est assignée à $f, puis, true est ignoré 
// Agit comme : (($f = false) or true donc $f==false) 
$f = false or true; 
0
Flachy Joe Messages postés 2102 Date d'inscription   Statut Membre Dernière intervention   261
 
Avec preg_match (exemple tiré du manuel)
// repérer le nom de l'hôte dans l'URL
preg_match('@^(?:http://)?([^/]+)@i', $monUrl, $matches);
$host = $matches[1];

// repérer les deux derniers segments du nom de l'hôte
preg_match('/[^.]+\.[^.]+$/', $host, $matches);
if ($matches[0]=='xxxx.fr')

0
faboons Messages postés 275 Date d'inscription   Statut Membre Dernière intervention   50
 
Merci à toi Flachy Joe.

Désolé, il est vrai que je n'ai pas consulté le manuel à ce sujet.

J'ai appris pas mal de choses sur les regex du coup, même si finalement c'était pour..... rien.

En fait, la condition est dans un include mais 2 fois et je ne changeais jamais ma condition aux 2 endroits, malin non ????

Sinon, je ne comprends pas la différence entre OR et || mais je vais jeter un coup d'oeil à ça.

Merci pour ta patience.

@ pluche.
Fab.
0