Page 1 sur 1

$_SERVER['REQUEST_URI'] et $_GET ... infini.

Posté : 10 nov. 2008, 22:54
par the_grinch
Bonjour,
Voila, j'ai besoin d'utiliser la méthode get pour transmettre une donnée avec un lien.
Voici :
$lien = $_SERVER['REQUEST_URI']."&cmd=";
Mon lien :
<a href="<? echo $lien; ?>go" title="GO!">Gogogo !</a>
Le problème c'est que si on clic plusieurs fois sur le lien, la variable &cmd=go se met a la suite des autres.
index.php?page=home&cmd=go&cmd=go&cmd=go&cmd=go&cmd=go ...

Comment faire pour qu'il les supprimes une fois la page chargé ?

J'ai essayé de faire ça a la fin de mon script :
if (isset($_GET['cmd'])) unset($_GET['cmd']);
$lien = $_SERVER['REQUEST_URI']."&cmd=";

Mais rien n'y fait ...

Merci :)

Posté : 10 nov. 2008, 23:04
par Aureusms
C'est normal tu boucles sur ta valeur $_GET.

Vérifie ta variable avant :
$lien = (isset($_GET['cmd'])) ? $_GET['cmd'] : $_SERVER['REQUEST_URI']."&cmd=";

Posté : 10 nov. 2008, 23:15
par the_grinch
Merci mais il me supprime toutes les variables GET..
Je clique sur le lien, il met : "index.php?page=home&cmd=go" dans l'adresse
Mais apres le lien se met : /gogo donc si je clique dessus, l'adresse sera : /gogo
Non seulement il a supprimé toutes les variables GET mais il laisse la valeur $_GET['cmd']...

J'ai mis :
<?
$lien = (isset($_GET['cmd'])) ? $_GET['cmd'] : $_SERVER['REQUEST_URI'];
?>
<a href="<? echo $lien; ?>&cmd=go" title="GO!">Gogogo !</a>
il me met :

go&cmd=go

Ce qu'il faut faire, supprimer la variable GET cmd et la valeur avec mais en gardant la variable GET page.

C'est assez compliqué je trouve..

Posté : 14 nov. 2008, 11:16
par Aureusms
Bon bah fais un foreach alors...
<?php
$valeur_get ='';
foreach ($_GET as $cle => $valeur)
{
if ($cle != 'cmd') $valeur_get .= $cle."=".$valeur."&";
}

//Puis on supprime le dernier &

$valeur_get = substr ($valeur_get,0,-1);

?>
Qu'est ce que t'en pense ?

Posté : 21 nov. 2008, 16:16
par the_grinch
Merci, ça c'est pas mal !!