[RESOLU] pouvez vous me dire ce qui ne va pas sur mon code ?

Eléphanteau du PHP | 23 Messages

20 oct. 2018, 16:58

Bonjour a la communauté PHP France,

je voudrais savoir si quelqu'un peut me dire ce qui ne va pas sur mon code
je cherche à faire un preg match pour trouver si l'URL contient
search_result.php
voici une URL d'exemple
https://www.exemple.com/search_result.p ... rd=samsung

Code : Tout sélectionner

<?php if (preg_match("/\/search_result$/", $_SERVER['REQUEST_URI'])) { echo "this page contain search_result"; echo "<br>"; echo $_SERVER['REQUEST_URI']; } else { echo "this page not contain search_result"; echo "<br>"; echo $_SERVER['REQUEST_URI']; } ?>
bizarrement le preg match ne fonctionne pas , voici le output

this page not contain search_result
/search_result.php?keyword=samsung&order=BestMatch&listing=All


auriez vous une idée s'il vous plait ?
merci beaucoup pour votre aide :D

Mammouth du PHP | 2703 Messages

20 oct. 2018, 17:15

"/^\/search_result/"

Eléphanteau du PHP | 23 Messages

20 oct. 2018, 17:40

C'est bien la solution ,Merci beaucoup Or1 :)
bon week end a tous !

Mammouth du PHP | 2703 Messages

20 oct. 2018, 17:46

après, c'est plus simple et plus rapide de se contenter de :
$_SERVER['SCRIPT_NAME'] == "search_result.php"

Eléphanteau du PHP | 23 Messages

20 oct. 2018, 18:14

après, c'est plus simple et plus rapide de se contenter de :
$_SERVER['SCRIPT_NAME'] == "search_result.php"
j'ai essayer avec votre code pour voir

Code : Tout sélectionner

<?php if (preg_match($_SERVER['SCRIPT_NAME'] == "search_result.php")) { echo "this page contain search_result"; echo "<br>"; echo $_SERVER['SCRIPT_NAME']; } else { echo "this page not contain search_result"; echo "<br>"; echo $_SERVER['SCRIPT_NAME']; } ?>
//output
this page not contain search_result
/search_result.php

la variable $_SERVER['SCRIPT_NAME'] fonctionne ,mais bizarrement le preg match ne fonctionne pas

votre premiere réponse fonctionne ,
y a t'il une mauvaise syntaxe ?

merci beaucoup

Mammouth du PHP | 2703 Messages

20 oct. 2018, 18:54

if($_SERVER['SCRIPT_NAME'] == "search_result.php")

Eléphanteau du PHP | 23 Messages

20 oct. 2018, 19:29

oops ok effectivement ...

Eléphanteau du PHP | 23 Messages

20 oct. 2018, 20:17

alors je viens de tester mais ca ne fonctionne pas encore :)

Code : Tout sélectionner

<?php if ($_SERVER['SCRIPT_NAME'] == "search_result.php") { echo "this page contain search_result.php"; echo "<br>"; echo $_SERVER['SCRIPT_NAME']; } else { echo "this page not contain search_result.php"; echo "<br>"; echo $_SERVER['SCRIPT_NAME']; } ?>
//output
this page not contain search_result
/search_result.php

Mammouth du PHP | 2703 Messages

20 oct. 2018, 20:46

il faut donc rajouter un / vu que cela affiche /search_result.php

Eléphanteau du PHP | 23 Messages

20 oct. 2018, 21:54

oops (bis) et oui comme c'est plus un preg match ,du coup je comprend la nuance de rendu entre les deux

merci infiniment Or 1 !