Page 1 sur 1

mettre chaque mot dans une variable

Posté : 18 avr. 2013, 12:01
par seb1945
Bonjour,

J'ai trouvé comment récupérer les paramétrés après l'URL avec :

Mon url est : http://www.monsite.php?toto&tutu_tata

echo $_SERVER['QUERY_STRING'];

cette ligne m'affiche bien toto&tutu_tata

Ce que je souhaite, c'est de mettre chaque mot sans le & et _ dans une variable sachant que ces paramètres peuvent changer.

Quelqu'un a une idée ?

j'ai pensée a explode

Seb

Re: mettre chaque mot dans une variable

Posté : 18 avr. 2013, 13:00
par ctzwayna
Bjr à tous et heureux de poster mon premier poste:

pour ta question, il y'a la fonction str_replace:

$var_1 = $_SERVER['QUERY_STRING'];
$var_1 = str_replace(array( '_' , '&') , '' , $var_1);

echo $var_1; // ce qui donnera tototututata

Re: mettre chaque mot dans une variable

Posté : 18 avr. 2013, 13:12
par seb1945
Merci pour ta réponse, mais c'est pas tout a fait ça que je souhaite.

Mon Url est : http://www.monsite.php?toto&tata_titi

ce que je souhaite c'est de mettre ce qui est en rouge chaque dans une variable
comme:
$v1=1er champ
$v1=2eme champ
$v1=3eme champ

c'est pour formater le nom de mon fichier que je vais créer

comme:

monfichier="$v1$v2$v3.txt"
qui donnera tototatatiti.txt

ne pas oublier que les paramètres après l'url change donc j'aurai un fichier différent à chaque fois que les paramètres changent

Seb

Re: mettre chaque mot dans une variable

Posté : 18 avr. 2013, 13:52
par ctzwayna
ah ok,

dans ce cas rajoute explode

$var_1 = $_SERVER['QUERY_STRING'];
$var_1 = str_replace(array( '_' , '&') , '#' , $var_1);
$var_1 = explode( '#' , $var_1);

$var_2[0] donne toto
$var_2[1] donne tata
$var_2[2] donne titi

Re: mettre chaque mot dans une variable

Posté : 18 avr. 2013, 14:13
par seb1945
Heu...
y a pas une erreur ??

je vois plein de $var1 et $var2 :?:

et ici la meme variable correspond a une valeur differente ??
$var_2[0] donne toto
$var_2[1] donne tata
$var_2[2] donne titi

c'est pas plutôt :

$var1[0] donne toto
$var2[1] donne tata
$var3[2] donne titi

de façon si je fais :
echo $var1;
donne toto
echo $var2;
donne tata
echo $var3;
donne titi
mais je vois pas dans ton code ou tu donne chaque champs une variable ?
Seb

Re: mettre chaque mot dans une variable

Posté : 18 avr. 2013, 14:54
par ctzwayna
Oui y'a bien une erreur dans mon code

$var_1 = $_SERVER['QUERY_STRING'];
$var_1 = str_replace(array( '_' , '&') , '#' , $var_1);
$var_1 = explode( '#' , $var_1); <====== ça donne un tableau comme si on avait $var_1 = array('toto','tata','titi');

$var_1[0] donne toto
$var_1[1] donne tata
$var_1[2] donne titi

après si tu veux tu peux faire ça
$var_1 = $_SERVER['QUERY_STRING'];
$var_1 = str_replace(array( '_' , '&') , '#' , $var_1);
list($var1,$var2,$var3) = explode( '#' , $var_1);
et là t'aura
$var1 donne toto
$var2 donne tata
$var3 donne titi

Re: mettre chaque mot dans une variable

Posté : 18 avr. 2013, 15:39
par seb1945
Merci grace a toi tu m'as mis sur la piste.
J'ai réussi à faire ce que je voulais.

Je te remercie beaucoup =D>

Seb

Re: [RESOLU] mettre chaque mot dans une variable

Posté : 18 avr. 2013, 21:22
par ctzwayna
y'a pas de quoi :)