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 :

récupérer les variables GET


Sujet :

Langage PHP

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    314
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 314
    Par défaut récupérer les variables GET
    Bonjour,
    Je souhaiterais savoir s'il était possible de récupérer toutes les variables passée en $_GET et de les traiter comme une chaine de caractere ?

    Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    test.php?var1=az&var2=ze&var3=tt

    donc récupérer sous forme de chaine de caractère sans savoir ce qu'il y a comme variable

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var1=az&var2=ze&var3=tt
    pour pouvoir rechercher et remplacer la valeur d'une variable ou la supprimer ?

    Merci de votre aide

  2. #2
    Membre Expert
    Avatar de Seb33300
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    1 564
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 564
    Par défaut
    tu peux faire une boucle foreach et parcourir toutes les variables $_GET

    ou si ton serveur le permet, utiliser la variable $_SERVER['QUERY_STRING']

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    314
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 314
    Par défaut
    Bonsoir et merci de m'avoir répondu,

    mon hébergeur me permet l'utilisation de : $_SERVER['QUERY_STRING']

    je voudrais dans mes variables tester si par exemple var1 = az et si c'est le cas le supprimer dans un premier temps ou changer la valeur,

    j'essaye en utilisant preg_replace mais visiblement ca parrait compliquer et je n'arrive même pas a supprimer ma variable.

    Pensez vous que je suis sur la bonne direction ?

  4. #4
    Membre Expert
    Avatar de Seb33300
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    1 564
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 564
    Par défaut
    Je ne comprend pas vraiment l'intérêt ?

    Pourquoi ne pas faire directement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if($_GET['var1'] == 'az'){
     
    }

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    314
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 314
    Par défaut
    Le but est de faire un outil de sélection
    voici ma page :

    http://www.mon-livre-photo.fr/comparateur.php

    Par exemple si l'on clique sur paysage, portrait et rigide

    Les 3 propriétés sont surligné, si l'on reclique dessus elles disparaissent.

    Les 3 propriétés surlignés :

    comparateur.php?t=gra&o=pay&tc=ri

    Si l'on clique a nouveau sur Paysage pour retirer cette sélection

    comparateur.php?t=gra&tc=ri

    Je dois construire le liens pour chacune des possibilités, j'avoue que je plane un peu ...

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    La manière simple serait d'utiliser des sessions : au click tu recupères la valeur reçue et tu l'ajoutes en session. Cela ôte le problème de devoir passer les informations à chaque changement de page.

    La manière complexe est d'écrire chaque lien avec les valeurs reçues plus la valeur correspondant au lieu
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    314
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 314
    Par défaut
    Oui c'est sur que via une session se serait très simple mais pour dés raisons de référencement je préférerais utiliser le passage de paramètre via l'url....

    Je n'ai pas bien compris pour la solution complexe ton raisonnement ?

    Merci

  8. #8
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    qu'apporte le paramètre dans le lien pour le referencement ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  9. #9
    Membre averti
    Inscrit en
    Février 2007
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 18
    Par défaut Solution
    Salut!

    J'ai trouvé une solution à ce que tu cherchais. La différence est que les liens sont devenus des boutons submit astucieusement employés.

    Le fichier s'appelle lien.php, n'oublie pas de changer les lignes 15 et 28 au besoin. L'usage de <?=$echo?> nécessite les short_tags.

    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
    <?php
    	//Config-----
    	$listedescategories = array('couleur'=>'Couleur','taille'=>'Taille','pays'=>'Pays d\'origine');
    	$valeurs = array(
    		'couleur'=>array('bleu','vert','rouge'),
    		'taille'=>array('petit','moyen','grand','pharaonique'),
    		'pays'=>array('Maroc','Finlande','Vatican')
    	);
    	//-----------
    	ini_set('display_errors',false);
    	if(isset($_GET['enlever'])){
    		unset($_GET['enlever']);
    		$str = vsprintf(implode('=%s&',array_keys($_GET)).'=%s',$_GET);//Voilà ce que tu cherchais
    		$car1 = (strlen($str)) ? '?' : '';
    		header("location:lien.php$car1$str");
    	}
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    <head>
    	<title>Hello World</title>
    	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    </head>
    <body>
    <?php
    	foreach($listedescategories as $categorie=>$nomcat){ ?>
    	<h3><?=$nomcat?></h3>
    	<form method="get" action="lien.php"><div>
    		<?php
    			foreach($listedescategories as $cat=>$inutile){
    				if($cat==$categorie) continue;
    				if(isset($_GET[$cat])) echo '<input type="hidden" name="'.$cat.'" value="'.$_GET[$cat].'" />';
    			}
    			foreach($valeurs[$categorie] as $c){
    				if($_GET[$categorie]==$c) echo '<input type="submit" name="enlever" value="'.$c.'" />';
    				else echo '<input type="submit" name="'.$categorie.'" value="'.$c.'" />';
    			}
    		?>
    	</div></form>
    <?php } ?>
    </body>
    </html>
    Cordialement.

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    314
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 314
    Par défaut
    Hé oui louperivois c'est exactement cela !

    Wouha je ne sais pas comment je m'en serais tiré...

    Merci beaucoup.

    Jérémie

Discussions similaires

  1. Récupérer les variables d'une autre fenêtre
    Par chuky dans le forum AWT/Swing
    Réponses: 8
    Dernier message: 20/05/2012, 20h24
  2. problème pour récupérer les variables GEt d'un formulaire
    Par ouldfella dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 04/01/2010, 10h22
  3. Récupérer les variables GET
    Par Aurazed dans le forum ASP.NET
    Réponses: 3
    Dernier message: 15/02/2007, 10h22
  4. [HTML][PHP] Formulaire impossible de récupérer les variables
    Par Pfeffer dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 11/11/2005, 16h08
  5. Récupérer les variables d'un .pm
    Par Feustine dans le forum Modules
    Réponses: 4
    Dernier message: 12/08/2005, 19h30

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