Page 1 sur 1
index.php?monmot=route&mot=Rechercher
Posté : 30 mai 2019, 20:52
par Jefekoi
Bonjour les amis PhpFrance.
Voilà j'aimerais récupérer le nom dans un lien
J'ai bien compris qu'il fallait faire ça :
index.php?monmot=route&mot=Rechercher
Code : Tout sélectionner
$NomUrl= pathinfo($_SERVER['PHP_SELF'],PATHINFO_FILENAME);
$Extension= pathinfo($_SERVER['PHP_SELF'], PATHINFO_EXTENSION);
Il m'affiche bien ce que je lui demande
Exemple :
Index.php
$NomUrl va me donner :
index
$Extension va me donner :
php
Par contre lorsque je veux mettre ce lien :
exemple.html
Là il ne marche pas le $NomUrl me donne :
index
et $Extension me donne
php
Attention je ne veux pas utiliser .htaccess
Merci pour votre aide

Re: index.php?monmot=route&mot=Rechercher
Posté : 30 mai 2019, 22:30
par or 1
Re: index.php?monmot=route&mot=Rechercher
Posté : 30 mai 2019, 23:10
par Saian
Bonsoir jefekoi, pourquoi n'écris tu pas simplement le nom du fichier en dur ?
Re: index.php?monmot=route&mot=Rechercher
Posté : 31 mai 2019, 06:03
par Jefekoi
Bonjour, Saian et merci à Or 1
Disons que j'ai déjà fait pleins de fichiers xml pour google (l’alphabet) avec des liens html c'est pour ce que tu sais. ... courir.html ... chanter. html etc ....
J'avais pensé de faire http:....../courir : http:....../chanter : etc ....
Qu'est ce que tu en penses ?
bonne journée
Eric
Re: index.php?monmot=route&mot=Rechercher
Posté : 31 mai 2019, 09:51
par Saian
Désolé mais en fait je comprends pas bien la problématique.
Re: index.php?monmot=route&mot=Rechercher
Posté : 31 mai 2019, 12:22
par Jefekoi
Dans mon formulaire je voudrais récupérer :
Soit un lien html. Exemple : /parler.html (==> pour obtenir "parler")
Soit la variable monmot. Exemple : index.php?monmot=conduire (==> pour obtenir "conduire")
Voilà ce que j'aimerais faire.
Eric
Re: index.php?monmot=route&mot=Rechercher
Posté : 31 mai 2019, 14:31
par Saian
Tu veux récupérer un lien, qu'est ce que tu entends par là ? quand tu cliques le lien, dans la page qui est appelée tu veux récupérer le lien c'est ça ? soit la page existe vraiment et donc vu que t'es dedans ben le nom de la page tu le connais, soit t'as de la réécriture d'url (la page parler.html n'existe pas réellement) et donc le nom du paramètre $_GET dépend de la règle de réécriture qui doit être dans le htaccess.
Le paramètre monmot qui est dans l'url après le ? ça se récupère via la super global $_GET qui est un tableau associatif de tous les paramètres passés en méthode GET. Ça se lit comme ça : $_GET['monmot']
Re: index.php?monmot=route&mot=Rechercher
Posté : 31 mai 2019, 16:34
par Jefekoi
J'ai deux sites le premier a des liens (liens html) se dirigeant vers le second et c'est sur le second que je veux récupérer le nom exemple ..../parler.html je voudrais récupérer "parler"
Re: index.php?monmot=route&mot=Rechercher
Posté : 31 mai 2019, 16:40
par Jefekoi
J'avais fais comme ça mais ce n'est pas bon pour récupérer le nom du lien en html
Code : Tout sélectionner
$NomUrl= pathinfo($_SERVER['PHP_SELF'],PATHINFO_FILENAME); // affiche index
$Extension= pathinfo($_SERVER['PHP_SELF'], PATHINFO_EXTENSION); //affiche php
if (isset($_GET['monmot'])<>"") {$motBrut=$_GET['monmot'];}
Re: index.php?monmot=route&mot=Rechercher
Posté : 31 mai 2019, 17:16
par Saian
Ok alors il faut que tu regardes dans le HTTP_REFERER car le PHP_SELF concerne le script qui est en train de s'exécuter et non pas le page depuis laquelle il a été appelé.

Attention HTTP_REFERER n'est définit que si tu arrives sur la page depuis un lien. Si tu accèdes directement à la page l'index n'existe pas.
Re: index.php?monmot=route&mot=Rechercher
Posté : 01 juin 2019, 08:50
par Jefekoi
J'ai testé et ceci à l'air de marcher, dis moi ce que tu en penses
J'ai dérivé par rapport à ce que tu me propose mais je n'ai pas trouvé d'autres solutions
Code : Tout sélectionner
$file = basename($_SERVER['REQUEST_URI']);
$extension = pathinfo($file, PATHINFO_EXTENSION);
if (substr($extension, 0, 3)=="php"){ echo "oui php";}
if ($extension=="html") {echo "oui html";}
Avec ça il me reste plus qu'a récupérer soit la variable $_GET['monmot'] soit le nom dans le html "parler.html"
Re: index.php?monmot=route&mot=Rechercher
Posté : 01 juin 2019, 09:15
par Jefekoi
ou cette deuxième solution :
Code : Tout sélectionner
$path_parts = pathinfo(basename($_SERVER['REQUEST_URI']));
$resultat=$path_parts['filename']; // depuis PHP 5.2.0
if ($resultat=="index") {$monmot= $_GET['monmot'];}
if ($resultat<>"index") {$monmot= $resultat;}
Re: index.php?monmot=route&mot=Rechercher
Posté : 01 juin 2019, 09:55
par Jefekoi
Superbe ça marche bien, tu iras tester si tu le veux bien

Re: index.php?monmot=route&mot=Rechercher
Posté : 01 juin 2019, 10:55
par Saian
Héhé je viens de tester ça et je vois que ça marche impeccable. +la petite dédicace

Beau travail ! j'ai testé quelques anagrammes trouvés sur le web et ta base semble bien complète.
PS : et donc tu as bien une réécriture d'url et effectivement dans ton cas c'est pas le HTTP_REFERER ni le PHP_SELF qui t'intéressaient mais bien le REQUEST_URI.

Re: [RESOLU] index.php?monmot=route&mot=Rechercher
Posté : 01 juin 2019, 12:21
par Jefekoi
J’attendais ta réponse pour mettre résolu
Une fois de plus merci à toi
Eric