IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Concatenation de parametre URL


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 129
    Points : 45
    Points
    45
    Par défaut Concatenation de parametre URL
    Bonjour,

    Je vais essayé de vous poser mon pb le plus précisément possible ^^
    Je fais un site php qui doit afficher des images (images de graph générées par munin etc..).
    Pour afficher mes images, j'ai trois critères : le système d'exploitation(windows ou linux) , le nom du composant(cpu, disque etc) et la "fréquence"(jour, semaine, mois etc).

    Pour faire ça, j'ai créé en php/css un menu déroulant qui regroupe ces différents critères.

    La méthode la plus simple selon moi, est d'appeler toujours la même page avec des variables différentes ( méthode GET quoi). Seulement voilà, l'url vers laquelle pointe chaque lien de mon menu déroulant est ecrite de cette façon :
    menu.php?system=windows ou ?materiel=cpu etc etc

    Comme vous l'aurez compris, j'ai besoin à chaque fois de trois critères pour pouvoir afficher mes img or là avec mes liens j'en ai qu'un à chaque fois

    J'ai testé plusieurs choses, en testant si tel ou tel GET était définis etc mais bon... j'arrive jamais à mes fins.. Donc si il y avait une méthode pour pouvoir concaténer les paramètres de mes url afin de les garder consécutivement au fur et à mesure ça serait bien =) (un genre de fil d’Ariane quoi mais dans mon URL) merci d'avance =)

    PS : si il existe une FAQ là dessus excusez moi.. j'ai regardé mais à première vu je n'ai pas trouvé

  2. #2
    En attente de confirmation mail
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2011
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Orne (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2011
    Messages : 32
    Points : 54
    Points
    54
    Par défaut
    Bonjour,
    tu peux passer plusieurs paramètres dans ton url :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    menu.php?sys=win&mat=cpu&freq=jour

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 129
    Points : 45
    Points
    45
    Par défaut
    Oui je sais mais voilà ce que je veux dire :
    (mon menu):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    <li><a href="">OS</a>
    				<ul class="sousMenu">
    					<li><a href="menu.php?system=windows">Windows</a></li>
    					<li><a href="menu.php?system=linux">Linux</a></li>
    				</ul>
    			</li>
     
                <li><a href="">Materiels</a>
    				<ul class="sousMenu">
    					<li><a href="menu.php?materiel=Cpu">CPU</a></li>
    					<li><a href="menu.php?materiel=CpuAdmin">CPUAdmin</a></li>
    					<li><a href="menu.php?materiel=Disque">Disque Dur</a></li>
    					<li><a href="menu.php?materiel=Memory">Mémoire RAM</a></li>
    					<li><a href="menu.php?materiel=Reseau">Réseau</a></li>
    					<li><a href="menu.php?materiel=Utilisateur">Utilisateurs</a></li>
    				</ul>
    			</li>
     
                <li><a href="">Fréquence</a>
    				<ul class="sousMenu">
    					<li><a href="menu.php?frequence=day">Jour</a></li>
    					<li><a href="menu.php?frequence=week">Semaine</a></li>
    					<li><a href="menu.php?frequence=month">Mois</a></li>
    					<li><a href="menu.php?frequence=year">Année</a></li>
    				</ul>
    			</li>
    (mes liens sont volontairement 'nul' pour cette exemple)
    Ce que je voulais dire c'est qu'imagine que par défaut on va dire que tu soit sur la page "windows" donc ton url ressemblerai à ça (d’après ton exemple) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    menu.php?system=windows&materiel=materielpardefaut&frequence=frequencepardefaut
    Mais si le gars clique sur un type de materiel je devrais avoir ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    menu.php?system=windows&materiel=lematerielcliqué&frequence=frequencepardefaut
    Or si le gars clic et change la frequence par "year" par exemple, il perdra le paramètre "materiel=materielchoisi".
    Je sais pas si tu vois ^^ mais je cherche une espèce de concaténation de variable en fonction de la navigation.

    Autre exemple plus "imagé" j'ai : windows=>cpu=>day (sachant que ça, c'est mes paramètres par défaut ; je les afficherai toujours quand la page s'ouvre pour la première fois)
    La personne "change" de matériel : windows=>disk=>day là OK
    MAIS si la personne change la date : windows=>disk=>year par exemple, ben normalement je ne devrais pas garder obligatoirement le paramètre "disk" il devrait revenir à "cpu" et ça, j'aime pas ^^"

  4. #4
    En attente de confirmation mail
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2011
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Orne (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2011
    Messages : 32
    Points : 54
    Points
    54
    Par défaut
    A ok, excuse moi je n'avais pas compris.
    Pourquoi tu n'utilise pas un formulaire? Ca serait plus simple pour toi et pour l'utilisateur qui n'aurait pas à cliquer sur 3 liens différents mais aurait juste à remplir les 3 champs.

    Si tu veux vraiment utiliser des liens, tu peux les génrer à chaque fois que l'utilisateur clique sur un lien en fonction des paramètres qu'il a choisit :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    <?php
    $frequence = (!empty($_GET["frequence"])) ? $_GET["frequence"] : "frequenceParDefaut";
    $system = (!empty($_GET["system"])) ? $_GET["system"] : "systemParDefaut";
    $materiel = (!empty($_GET["materiel"])) ? $_GET["materiel"] : "materielParDefaut";
    ?>
    <li><a href="">OS</a>
    	<ul class="sousMenu">
    		<li><a href="menu.php?system=windows&frequence=<?php echo $frequence; ?>&materiel=<?php echo $materiel; ?>">Windows</a></li>
    		<li><a href="menu.php?system=linux<?php echo $frequence; ?>&materiel=<?php echo $materiel; ?>">Linux</a></li>
    	</ul>
    </li>
     
    <li><a href="">Materiels</a>
    	<ul class="sousMenu">
    		<li><a href="menu.php?materiel=Cpu&system=<?php echo $system; ?>&frequence=<?php echo $frequence; ?>">CPU</a></li>
    		<li><a href="menu.php?materiel=CpuAdmin&system=<?php echo $system; ?>&frequence=<?php echo $frequence; ?>">CPUAdmin</a></li>
    		<li><a href="menu.php?materiel=Disque&system=<?php echo $system; ?>&frequence=<?php echo $frequence; ?>">Disque Dur</a></li>
    		<li><a href="menu.php?materiel=Memory&system=<?php echo $system; ?>&frequence=<?php echo $frequence; ?>">Mémoire RAM</a></li>
    		<li><a href="menu.php?materiel=Reseau&system=<?php echo $system; ?>&frequence=<?php echo $frequence; ?>">Réseau</a></li>
    		<li><a href="menu.php?materiel=Utilisateur&system=<?php echo $system; ?>&frequence=<?php echo $frequence; ?>">Utilisateurs</a></li>
    	</ul>
    </li>
     
    <li><a href="">Fréquence</a>
    	<ul class="sousMenu">
    		<li><a href="menu.php?frequence=day&materiel=<?php echo $materiel; ?>&system=<?php echo $system; ?>">Jour</a></li>
    		<li><a href="menu.php?frequence=week&materiel=<?php echo $materiel; ?>&system=<?php echo $system; ?>">Semaine</a></li>
    		<li><a href="menu.php?frequence=month&materiel=<?php echo $materiel; ?>&system=<?php echo $system; ?>">Mois</a></li>
    		<li><a href="menu.php?frequence=year&materiel=<?php echo $materiel; ?>&system=<?php echo $system; ?>">Année</a></li>
    	</ul>
    </li>

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 129
    Points : 45
    Points
    45
    Par défaut
    Oui, on veux vraiment avoir un menu de type (nav)igation ^^ car d'après ce que je sais on ne peux pas mettre du css sur des éléments de type POST enfin je me trompe peut être..

    En tout cas oui, à première vu ton code colle plus à ce que je recherche
    Mais je vais l'adapter à mon code pour afficher mes img avant de crier Victoire ^^
    Mais oui, ça à l'air pas mal. j'avais à peu près cette idée là mais j'avais du mal à structurer et imaginer l'algo ^^' si ça marche au moins j'aurai appris un truc =)

  6. #6
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 129
    Points : 45
    Points
    45
    Par défaut
    Merci !

    Après réadaptation de ton code ça à l'air de marcher impec =)
    Au moins maintenant je saurai comment on fait des URL à paramètres "dynamiques".

  7. #7
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    d'après ce que je sais on ne peux pas mettre du css sur des éléments de type POST

    Ca ne veut rien dire ça... Un élément de type POST, ça n'a pas de sens. POST, c'est la méthode d'envoi des paramètres au serveur, il n'y a aucune notion de style là-dedans.
    Ensuite, si tu veux parler des éléments de formulaire alors effectivement, un <select> est assez limité niveau possibilité d'ajouts de styles, mais avec un peu de JavaScript, tu peux faire des choses tout à fait correctes.
    Créer un plugin jQuery : une liste déroulante personnalisée
    Personnalisation d'un formulaire XHTML en Javascript et CSS

  8. #8
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 129
    Points : 45
    Points
    45
    Par défaut
    Oui désolé j'ai écris vite et j'ai pas fait attention à ce que je marquais ^^ oui en effet POST est une méthode au même titre que GET. je voulais sans doute dire oui : éléments du formulaire, boutons etc etc.
    Merci pour tes liens j'irais faire un tour histoire de voir ce que ça donnerai =)

Discussions similaires

  1. [html:link] parametre URL dynamique
    Par jilham dans le forum Struts 1
    Réponses: 9
    Dernier message: 09/07/2007, 17h07
  2. changer de background selon parametre URL
    Par huynhi dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 17/10/2006, 15h18
  3. [C#][2.0] Recuperation parametres URL
    Par kiza dans le forum ASP.NET
    Réponses: 2
    Dernier message: 04/10/2006, 12h50
  4. [Sécurité] Paramètres URL ou session
    Par sam01 dans le forum Langage
    Réponses: 5
    Dernier message: 18/05/2006, 12h16
  5. Passage de parametres URL dans requete SQL
    Par Fenryl dans le forum ASP
    Réponses: 4
    Dernier message: 14/12/2005, 13h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo