Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2541 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Modifier les valeurs des variables passées en get

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Modifier les valeurs des variables passées en get

n°1427999
akito06
Posté le 20-08-2006 à 14:15:53  profilanswer
 

Bonjour,
 
J'ai un petit probleme dans la création d'un script.
 
Je m'explique :
 
Je récupere l'url de la page courante par la methode :
$_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"]
 
Le probleme c'est que je voudrais modifier la valeur d'une variable
Ex : page.php?id=12&abc=aaa&xyz=ooo
doit etre modifié en :
page.php?id=12&abc=1&xyz=ooo
 
Je ne vois pas trop comment faire à part passer par un split pour récuperer toutes les variables et recrer la chaine de submit...
Mais bon, je dois avouer que si il y a une methode plus simple je suis preneur :)
 
Merci par avance!


Message édité par akito06 le 20-08-2006 à 14:25:09
mood
Publicité
Posté le 20-08-2006 à 14:15:53  profilanswer
 

n°1428022
dwogsi
Défaillance cérébrale...
Posté le 20-08-2006 à 14:55:12  profilanswer
 

Pourrais-tu expliquer un peu plus ce que tu souhaite exactement faire? Parce que franchement c'est pas bien clair là...


Message édité par dwogsi le 20-08-2006 à 14:55:30

---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
n°1428027
akito06
Posté le 20-08-2006 à 15:02:05  profilanswer
 

Merci pour ta réponse.
 
Pour faire simple, je récupere l'adresse et les variables de la page. Il y a une dizaine de variable.
 
En fait, je créer un lien avec cette meme adresse et variable, mais je veux modifier une variable.
 
Donc voici ce que je fais :
 
$var_url_grp = "http://".$_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"]."&employe=0";
 
Ceci rajoute la variable employe avec la valeur 0 dans l'adresse avec toute les variables qui existait deja.
 
Commme ca, ca marche mais bon la variable employe existe deja donc je rajoute une deuximeme fois cette meme variable...
Et comme les liens s'enchaine, a la fin je me retrouve avec employe=0&employe=12&employe=8 ect...
 
Merci

n°1428042
dwogsi
Défaillance cérébrale...
Posté le 20-08-2006 à 15:32:22  profilanswer
 

Ba tu fais une simple recherche de "employe=" dans ta chaîne et si ça y est c'est que tu as pas besoin de le rajouter.


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
n°1428045
akito06
Posté le 20-08-2006 à 15:37:23  profilanswer
 

dwogsi a écrit :

Ba tu fais une simple recherche de "employe=" dans ta chaîne et si ça y est c'est que tu as pas besoin de le rajouter.


 
Ce n'est pas si simple.
 
Si ca y est, j'ai besoin de le modifier...
Donc si je trouve employe=xxx je dois remplacer xxx par aaa...
 
Une idée?
 
Merci

n°1428046
Olivier51
Posté le 20-08-2006 à 15:38:28  profilanswer
 

Sinon, tu peux reconstruire tes paramètres à chaque fois en travaillant sur $_GET comme un tableau.

n°1428047
akito06
Posté le 20-08-2006 à 15:39:43  profilanswer
 

Olivier51 a écrit :

Sinon, tu peux reconstruire tes paramètres à chaque fois en travaillant sur $_GET comme un tableau.


 
Je ne peux pas utiliser Get car je ne connais pas les variables qui sont presente... Ca change a chaque fois...
 
 a moins qu'on puisse faire un
 
nom_var1=$_GET[1,0];
valeur_var1=$_GET[1,2];
 
mais je ne pense pas...
 
Merci


Message édité par akito06 le 20-08-2006 à 15:41:52
n°1428048
Olivier51
Posté le 20-08-2006 à 15:44:08  profilanswer
 

Code :
  1. foreach ($_GET as $key => $value)
  2. {
  3.   if ($key == "abc" ) && ($value == "aaa" ) $value = "1";
  4.   $query .= "&".$key."=".$value;
  5. }
  6. //ici tu enlèves le premier & avec la fonction qui va bien ...

n°1428049
akito06
Posté le 20-08-2006 à 15:49:31  profilanswer
 

Olivier51 a écrit :

Code :
  1. foreach ($_GET as $key => $value)
  2. {
  3.   if ($key == "abc" ) && ($value == "aaa" ) $value = "1";
  4.   $query .= "&".$key."=".$value;
  5. }
  6. //ici tu enlèves le premier & avec la fonction qui va bien ...



 
Super!
 
Donc dapres ce que je vois, le for each parcours le tableau get et incrémente query avec un & + variable + valeur
si je trouve la variable que je modifier, je la modifie.
Il faut juste que je rajoute un "?" dans mon lien et ca devrait etre bon!
 
Mille merci!

n°1428051
akito06
Posté le 20-08-2006 à 15:52:14  profilanswer
 

Pour enlever le premier &amp, je pense faire un test :
 
SI query == "" ALORS
query.= "&amp"
FINSI
 
query.=variable."=".valeur;

mood
Publicité
Posté le 20-08-2006 à 15:52:14  profilanswer
 

n°1428052
Olivier51
Posté le 20-08-2006 à 15:52:26  profilanswer
 

ouaip, fait attention aussi d'enelever le premier & ... Sinon en plus simple, tu remplaces mon '&' par '&' et à la fin de la boucle tu fais : $query[0] = '?' ...

n°1428053
Olivier51
Posté le 20-08-2006 à 15:53:35  profilanswer
 

il faut peut-etre mieux le supprimer à la fin, ça évite de faire une comparaison à chaque fois, mais on va dire que ce n'est qu'un détail ...

n°1428057
akito06
Posté le 20-08-2006 à 16:01:30  profilanswer
 

Oups, en fait cest plutot si query n'est PAS vide  :
 
SI query <> "" ALORS
query.= "&amp"
FINSI
 
query.=variable."=".valeur;  
 
Merci pour ton aide!


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Modifier les valeurs des variables passées en get

 

Sujets relatifs
[C#/COM]décallage de la valeurs des param lors d'appel COM[Résolu] Bug embêtant avec les variables de session
EXCEL VBA - Bug pour affecter valeurs dans tableau[PHP] question simple sur les variables
Select multiple recuperer toutes les valeursPb de passage de variables de session
Variables IPBModifier la date d'installation de Windows XP
Recuperer le nombre d'enregistrement modifier avec un UPDATEVBA : modifier la valeur d'une cellule en appellant une function
Plus de sujets relatifs à : Modifier les valeurs des variables passées en get


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR