[RESOLU] Recuperer une partie d une URL

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Recuperer une partie d une URL

par Invité » 17 déc. 2008, 16:25

Sauf que l'autre solution n'est pas mauvaise non plus. Tout dépend de ce que tu fais des liens : des statistiques par exemple ? Dans ce cas, c'est mieux de stocker effectivement, et tu traites plus tard, dans le panneau administrateur (histoire de ne pas embêter l'utilisateur).
ce que je voudrais faire c'est de controler mes utilisateurs, par exemple: si je demande a une personne d'effectuer un travail, il doit le faire et ne pas rentrer sur des pages pour s'amuser.

par Hywan » 17 déc. 2008, 16:03

Sauf que l'autre solution n'est pas mauvaise non plus. Tout dépend de ce que tu fais des liens : des statistiques par exemple ? Dans ce cas, c'est mieux de stocker effectivement, et tu traites plus tard, dans le panneau administrateur (histoire de ne pas embêter l'utilisateur).

par Invité » 17 déc. 2008, 15:52

Et comment tu connais l'URL de l'utilisateur ?
C'est pas clair ton histoire. Soit ton script s'exécute sur la page de l'utilisateur (front-end ou front-office), et un simple var_dump($_GET['menu']); est suffisant, soit tu es sur une page administrateur (back-end ou back-office) et tu dois lire les sauvegardes de liens quelque part.
donc je dois sauvegarder les liens dans ma BD et apres receuperer par LIMIT 1 et comme ca j'aurais ce que l'utilisateur fait pour le moment

par Hywan » 17 déc. 2008, 15:44

Et comment tu connais l'URL de l'utilisateur ?
C'est pas clair ton histoire. Soit ton script s'exécute sur la page de l'utilisateur (front-end ou front-office), et un simple var_dump($_GET['menu']); est suffisant, soit tu es sur une page administrateur (back-end ou back-office) et tu dois lire les sauvegardes de liens quelque part.

par Invité » 17 déc. 2008, 15:36

Pas avec la méthode de Saqed. Où se trouvent tes URL exactement ? Elles proviennent d'une basée de données ?
Non pas d une base de donnee, mais il suffit de recuprere ce qui est apres ?menu= pour savoir ce que l'utilisateur est entrain de faire

par Hywan » 17 déc. 2008, 15:06

Pas avec la méthode de Saqed. Où se trouvent tes URL exactement ? Elles proviennent d'une basée de données ?

par Invité » 17 déc. 2008, 15:00

Quelle est la différence entre un pigeon ?
Si je fais ce que Sadeq et chrislabricole ont dit, je vais obtenir ou je me positionne, mais la je veux savoir ou autrui se positionne :)

par Hywan » 17 déc. 2008, 14:42

Quelle est la différence entre un pigeon ?

par Invité » 17 déc. 2008, 13:05

Etant un Admin, si je veux savoir ce qu'un utilisateur se positionne sur quelle page?

par sadeq » 07 déc. 2008, 02:32

T'as raison chrislabricole, c'est peut être ça ce qu'il cherche à faire tout simplement : récupérer le paramètre menu pour savoir quelle page a été demandée.

Moi j'étais partie sur une recherche dans une chaîne (url) qu'il a. J'avoue qu'après relecture de son message, je crois que ta réponse est la plus appropriée. :wink:

Qu'en dis-tu Emy ?

par chrislabricole » 07 déc. 2008, 01:05

<?php
echo $_GET['menu'];
?>
???

par Invité » 07 déc. 2008, 00:31

Merci Sadeq, c'est tout un cours, je vais le reviser et essayer de le faire moi meme :)

par sadeq » 06 déc. 2008, 13:27

Bonjour,

Généralisons en disant que tu as une URL de type :

Code : Tout sélectionner

http://www.xxxxxxxx.xxx/xxx/xxxx.php?menu=accueil&xxxxx
ou

Code : Tout sélectionner

http://www.xxxxxxxx.xxx/xxx/xxxx.php?xxxxx=xxxxx&menu=accueil&xxxxx
Donc, le critère qui t'intéresse (accueil) se trouve toujours après la partie "menu=" et se termine par un "&" s'il y a d'autres paramètres dans l'URL sinon il se termine par un vide.

C'est ça la clé de voute pour délimiter le mot qui t'intéresse. On entend bien que ce que tu cherches à récupérer est un nom de page, dans cet exemple il s'agit de la page "accueil" mais dans l'absolu c'est un nom de page quelconque.

Donc, voici le modèle du critère recherché :
  • 1. le mot recherché doit commencer par "menu="
    2. il doit contenir autant de caractères que possible sauf le caractère & (qui désigne sa fin)
    3. il peut se terminer par le caractère & ou pas
Un tel modèle peut être représenté par le format logique suivant:
menu=(plusieurs caractères où il n'y a pas &)& 0 ou 1 fois

Le format avec lequel j'ai écrit ce modèle est un format d'expression régulière. En PHP, on peut utiliser des fonctions de recherche basées sur des expressions régulières pour justement répondre à ce genre de besoin.

Voici comment utiliser ce type de fonctions sous PHP:
<?php
// url de recherche
$url1 = "http://www.xxxxxxxx.xxx/xxx/xxxx.php?menu=accueil&xxxxx";
$url2 = "http://www.xxxxxxxx.xxx/xxx/xxxx.php?xxxxx=xxxxx&menu=accueil&xxxxx";

// recherche dans url1
preg_match("#menu=([^&]*)&?#i", $url1, $resultat); // la fonction recherche tout ce qui est entouré entre ()

// voyons le contenu du tableau $resultat
echo "<pre>"; print_r($resultat); echo "</pre>";

// le mot recherché si trouvé est placé donc dans la case [1] du resultat
echo "<p>mot trouvé dans url1: " . $resultat[1] . "</p>";

// recherche dans url2
preg_match("#menu=([^&]*)&?#i", $url2, $resultat);
echo "<p>mot trouvé dans url2: " . $resultat[1] . "</p>";
?>

Voilà.

Recuperer une partie d une URL

par Emy » 06 déc. 2008, 12:43

Bonjour,

Comment recuprer une partie d une URL de mon site? par exemple je veux recuperer tout ce qui est apres =

index.php?menu=accueil

je voudrais recuperer accueil pour savoir l utilisateur se trouve sur quel page

merci