trouver le nom de la page courante

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 : trouver le nom de la page courante

par Cugel » 14 févr. 2007, 08:32

Bien vu Ryle, effectivement, j'ai vu par après que çà ne fonctionnait pas aussi bien que je ne le croyais ... alors j'ai résolu le problème comme autrement :

$page=$_SERVER['SCRIPT_FILENAME'];
$page=basename($page,".php");
Ma fonction est donc passée à la trappe. :)
J'ai préféré utiliser SCRIPT_FILENAME car j'avais un comportement bizarre avec PHP_SELF et SCRIPT_NAME : la redirection s'effectuait correctement vers la bonne page mais le menu ne s'affichait pas correctement (elle affichait le menu de la page précédente).

En définitive, j'ai opté pour cette méthode avec un Require_once sur le début de chaque page à tester.

D'autre part, j'ai également remarqué qu'un simple switch ne fonctionnait pas dans mon fichier include, j'ai donc du utiliser in if...elseif, un peu plus long et moins "élégant" à mon goût, mais qui à l'avantage de fonctionner ... :)

par ouckileou » 13 févr. 2007, 13:08

Et comme c'est ma première fonction, j'en suis très fier :D même si elle n'est certainement pas parfaite (j'ai qu'une semaine de php dans les jambes aussi :) ).
Alors prends l'habitude dès maintenant de tester les paramètres que ta fonction récupère ;)

par Ryle » 13 févr. 2007, 12:35

Personnellement j'ai une préférence pour $_SERVER['PHP_SELF'] ou $_SERVER['SCRIPT_NAME'] :)

J'ai peur qu'avec le REQUEST_URI, tu puisses avoir des problème en cas de redirection ou d'url_rewriting... l'url ne correspondra peut être pas au nom du script (à confirmer)

A noter que la fonction basename() te permet d'extraire juste le nom du fichier en supprimant tout le chemin :)

par Cugel » 13 févr. 2007, 12:25

Et bien merci beaucoup, j'ai trouvé : c'est $_SERVER['REQUEST_URI'] qui semble être la solution. J'en ai profité pour créer une ch'tite fonction pour récuperer exactement ce que je recherche :
function getPageName($page)
{
          $page=pathinfo($page);
          $pgeName=$page['basename'];
          return $pgeName;
}
Alors pour l'utiliser il suffit d'inclure dans chaque page à vérifier :
$page=$_SERVER['REQUEST_URI'];
et ensuite de faire le test en fonction de ce qu'on veut faire (redirection, modification d'un menu, ....

Et comme c'est ma première fonction, j'en suis très fier :D même si elle n'est certainement pas parfaite (j'ai qu'une semaine de php dans les jambes aussi :) ).

par Cugel » 13 févr. 2007, 11:22

OKi merci, je vais voir çà de suite ....

par ouckileou » 13 févr. 2007, 10:32

Regarde dans les variables prédéfinies $_SERVER

trouver le nom de la page courante

par Cugel » 13 févr. 2007, 10:12

Cette question à peut-être déjà été posée ici, mais la fonction recherche n'ayant rien donné (ou alors je suis une vraie bille :lol: ...) je la (re)pose ...

Est-il possible de récupérer le nom de la page php courante et si oui, comment?

Je m'explique : pour mon menu, j'aimerai utiliser un include. Le problème est que le contenu du menu peut changer en fonction de la page sur laquelle se trouve l'utilisateur... Je m'étais donc dis que si je pouvais récupérer le nom de la page courante, je pourrais faire un switch ...