2011-04-09 2 views
0

Je suis en train de faire quelque chose avec PHP avec les $_GET valeurs mais je il semble impossible, par exemple:

?id=15&lang=en 

?id=15 est la page &lang=en langue du site

Je voudrais celui-ci

?id=15,en au lieu d'utiliser &lang=en Je veux remplacer le &lang= par des virgules (,)

Comment puis-je le faire en PHP ou est-il possible d'essayer avec une configuration .htaccess?

+4

pourquoi voulez-vous cela? –

+0

Pourquoi ne pas simplement '? 15, en'? – Gumbo

Répondre

2

Si vous avez une URL comme celle-ci:

http://.../temp.php?id=15,en 

$_GET contiendra un tableau avec un seul élément:

array 
    'id' => string '15,en' (length=5) 

Ce qui signifie que vous devrez extraire les données pertinentes de cette entrée $_GET['id'].


Par exemple, vous pouvez utiliser quelque chose comme ceci:

$items = explode(',', $_GET['id']); 
if (count($items) === 2) { 
    list($id, $lang) = $items; 
    echo "id : $id<br>"; 
    echo "lang : $lang<br>"; 
} 

En utilisant explode() pour diviser la chaîne $_GET['id'], en utilisant une virgule comme séparateur.

Et vous obtiendrez la sortie suivante:

id : 15 
lang : en 


Bien sûr, pour obtenir des URL avec un seul paramètre id, vous devrez modifier la façon dont votre application génère des URL. A propos de cela, il n'y a pas grand-chose que nous puissions faire sans savoir comment vous générez actuellement vos URL ...

+0

J'ai donc? Id = 15 & lang = en actuellement, mais je voudrais faire celui-ci? Id = 15, fr – andre

+0

pourquoi compter ($ items) === 2? – andre

+0

Juste pour être sûr qu'il y avait deux paramètres, comme prévu –