Page 1 sur 1

Problème "Location :" ?

Posté : 27 mai 2011, 10:42
par Jonathan
Bonjour,

Mon problème est simple. Je suis débutant, et j'aimerais que, si l'adresse de la page est par exemple "http://www.site.com/page.php", un message s'affiche.
Autrement dit, un truc du genre :
if (Location : http://www.site.com/page.php)
{
   echo "Vous êtes sur PAGE.PHP";
}
Mais comment faire ? Ca doit être tout bête, mais je n'ai pas trouvé sur Google...

Re: Problème "Location :" ?

Posté : 27 mai 2011, 10:55
par macgawel
:?:

Ce n'est pas très clair, là...
Comme tu présentes les choses il suffit de mettre un echo "Vous êtes sur PAGE.PHP"; dans la page page.php.

Sinon, tu peux regarder les variables serveur : print_r($_SERVER); en début de page. Tu devrais trouver ton bonheur...
suivant ce que tu cherches précisément, tu as (par exemple) $_SERVER['PHP_SELF'] qui renvoit l'adresse (relative) de la page et $_SERVER['HTTP_HOST'] pour l'adresse de base.
Ou __FILE__ qui te renvoit le script réellement en cours (chemin complet).

Re: Problème "Location :" ?

Posté : 27 mai 2011, 11:07
par Jonathan
Désolé pour le manque de clarté... En fait, j'ai des adresses qui se génèrent sans forcément qu'il y ait une page PHP derrière.
Par exemple, quand l'adresse est "http://www.monsite.com/etc/mapage.php?t ... min=Pierre", je voudrais afficher un certain message.
Et quand l'adresse est "http://www.monsite.com/etc/mapage.php?t ... admin=Paul", je voudrais en afficher un autre... C'est possible ça ?!

Re: Problème "Location :" ?

Posté : 27 mai 2011, 11:13
par macgawel
Désolé pour le manque de clarté... En fait, j'ai des adresses qui se génèrent sans forcément qu'il y ait une page PHP derrière.
Par exemple, quand l'adresse est "http://www.monsite.com/etc/mapage.php?t ... min=Pierre", je voudrais afficher un certain message.
Et quand l'adresse est "http://www.monsite.com/etc/mapage.php?t ... admin=Paul", je voudrais en afficher un autre... C'est possible ça ?!
Oui.

Dans le script mapage.php il "suffit" de récupérer les paramètres que tu as passé, et de faire un test dessus. Quelques exemples :
$admin = $_GET['admin']; // Penser à sécuriser ce que tu récupéres (ou pas) par un GET
if ($admin == 'Pierre' ) {
   echo 'Salut Pierre';
}
if ($admin == 'Paul' ) {
   echo 'Salut Paul';
}
switch ($admin) {
   case 'Pierre' : echo 'Salut Pierre';break;
   case 'Paul' : echo 'Salut Paul';break;
   default : 'Salut, inconnu';break;
}
echo 'Salut '.$admin;

Re: Problème "Location :" ?

Posté : 27 mai 2011, 11:51
par Jonathan
Oui, je comprends ce que tu dis. En fait, ce n'était pas en fonction de l'admin que je voulais afficher un message, mais en fonction de la table sur laquelle on est. Mais j'ai du mal car je reprends le code de quelqu'un, et que la variable en question n'est pas simplement $NomTable, mais $Menu->NomTable[$i]['MenuSQL']. Elle est enfermée dans une boucle, or moi j'aimerais l'afficher, mais à un autre endroit de la page... Et si je l'affiche dans un autre endroit, avec le code suivant :
if (($Menu->NomTable[$i]['MenuSQL']) == 'Les_commerciaux') {echo "MON BLABLA";}
Et bien je n'obtiens rien, puisqu'il y a le [$i]. Mais même sans le [$i], ça ne marche pas :s

Re: Problème "Location :" ?

Posté : 27 mai 2011, 11:58
par macgawel
Oui, je comprends ce que tu dis. En fait, ce n'était pas en fonction de l'admin que je voulais afficher un message, mais en fonction de la table sur laquelle on est. Mais j'ai du mal car je reprends le code de quelqu'un, et que la variable en question n'est pas simplement $NomTable, mais $Menu->NomTable[$i]['MenuSQL']. Elle est enfermée dans une boucle, or moi j'aimerais l'afficher, mais à un autre endroit de la page... Et si je l'affiche dans un autre endroit, avec le code suivant :
if (($Menu->NomTable[$i]['MenuSQL']) == 'Les_commerciaux') {echo "MON BLABLA";}
Et bien je n'obtiens rien, puisqu'il y a le [$i]. Mais même sans le [$i], ça ne marche pas :s
Il faudrait la boucle, là...
Ou au moins savoir à quoi correspond le $Menu->NomTable[$i]['MenuSQL']

Sinon, si tu veux éviter de trop toucher au code, tu récupéres les infos dans la boucle, et tu gères l'affichage après.
Du genre :
// initialisation
var $texte = '';
//dans la boucle
if (($Menu->NomTable[$i]['MenuSQL']) == 'Les_commerciaux') $texte = "MON BLABLA";
// Après la boucle, où tu veux
echo $texte

Re: Problème "Location :" ?

Posté : 27 mai 2011, 12:15
par Jonathan
Je ne m'en sors pas avec ta solution, il n'aime pas le "var", ou qu'il soit... Voici le code de la boucle :
		$Menu = new Menu();
		$i = 0;
		while ($i < count($Menu->NomTable))
		{
			if (($Menu->NomTable[$i]['MenuSQL'] <> 'Mdp_Formation') 						      && ($Menu->NomTable[$i]['MenuSQL'] <> 'login'))
			{
				echo '
					<a class="TexteX-Small" title="'.$Menu->NomTable[$i]['MenuSQL'].'" 
					href="mapage.php?table='.$Menu->NomTable[$i]['MenuSQL'].'                                                     &admin='.$NomAdmin.'">'.$Menu->NomTable[$i]['MenuAffichage'].'</a>
				';
			}
		$i++;
		}
		unset($Menu);

Re: Problème "Location :" ?

Posté : 27 mai 2011, 13:53
par macgawel
:oops:
Je me suis trompé... Un bête $texte = ''; suffit pour initialiser la variable.

Re: Problème "Location :" ?

Posté : 27 mai 2011, 14:43
par Jonathan
Ah c'est bon ! J'ai trouvé un autre moyen de faire ce que je voulais, en mieux, en allant trifouiller un autre bout de code ! Grâce à Firebug...

Merci macgawel, toujours là à ma rescousse :wink: