Problème "Location :" ?

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 : Problème "Location :" ?

Re: Problème "Location :" ?

par Jonathan » 27 mai 2011, 14:43

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:

Re: Problème "Location :" ?

par macgawel » 27 mai 2011, 13:53

:oops:
Je me suis trompé... Un bête $texte = ''; suffit pour initialiser la variable.

Re: Problème "Location :" ?

par Jonathan » 27 mai 2011, 12:15

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 :" ?

par macgawel » 27 mai 2011, 11:58

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 :" ?

par Jonathan » 27 mai 2011, 11:51

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 :" ?

par macgawel » 27 mai 2011, 11:13

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 :" ?

par Jonathan » 27 mai 2011, 11:07

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 :" ?

par macgawel » 27 mai 2011, 10:55

:?:

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).

Problème "Location :" ?

par Jonathan » 27 mai 2011, 10:42

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...