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