8797 sujets

Développement web côté serveur, CMS

Bonjour à tous !

Il y a une question qui me trotte dans la tête depuis quelques minutes. Existe-t-il une fonction qui charge une page sans les "?mavar=bidul&toto=tata&age=17" ? C'est à dire sans les variables associés.

Je vais donner un exemple pour être plus précis :

Exemple
Imaginons que je charges ma page.php de cette manière : page.php?variable=16

Si ensuite dans la même page j'ai un lien qui est introduit de cette façon :

<a href="page.php?pseudo=nirado&motdepasse=toto" >mon lien qui pose problème</a>


Lorsque je vais cliquer sur ce lien le navigateur va générer l'url suivante :
a écrit :

page.php?variable=16?pseudo=nirado&motdepasse=toto"


Ce qui va poser quelques problèmes.

L'un d'entre vous aurait-il une astuce ? Smiley smile
Modifié par NiRaDo_ (22 Jan 2008 - 00:07)
Administrateur
bonjour...
si dans la page page.php?variable=16 tu as le lien complet tel que décrit ci-dessus, il ne peut être interprété autrement que page.php?pseudo=nirado&motdepasse=toto sans conflit. je ne vois pas trop où est le problème.

tu peux cependant jongler avec les variables $_SERVER['REQUEST_URI'] (requête complète) ou $_SERVER['QUERY_STRING'] (tout ce qui dépasse après le '?') ou encore $_SERVER['SCRIPT_NAME'] (juste le nom du script) puis concaténer les variables souhaitées.

ou bien encore... écrire page.php?variable='.$variable.'&pseudo=nirado&motdepasse=toto, en sélectionnant ce que tu souhaites passer en argument.
dew a écrit :
bonjour...
si dans la page page.php?variable=16 tu as le lien complet tel que décrit ci-dessus, il ne peut être interprété autrement que page.php?pseudo=nirado&motdepasse=toto sans conflit. je ne vois pas trop où est le problème.

tu peux cependant jongler avec les variables $_SERVER['REQUEST_URI'] (requête complète) ou $_SERVER['QUERY_STRING'] (tout ce qui dépasse après le '?') ou encore $_SERVER['SCRIPT_NAME'] (juste le nom du script) puis concaténer les variables souhaitées.

ou bien encore... écrire page.php?variable='.$variable.'&pseudo=nirado&motdepasse=toto, en sélectionnant ce que tu souhaites passer en argument.


Salut et merci pour ta réponse. En fait, le véritable lien que je génère est le suivant :


<a href="'.$_SERVER['REQUEST_URI']."?mode=".MODE::$INSERTION.'">Ajouter une entrée</a>


J'aimerais que ce code soit valable quelque soit la page où je l'insère et que je n'ai pas à chaque fois à réécrite l'adresse complète. C'est pourquoi je fais appel à $_SERVER . Le problème est que avec cette technique, il prend en compte les autres variables déjà inscrites dans l'url.

Voilà. Je ne sais pas si je suis plus clair
Smiley smile
C'est encore moi.

Merci, c'était en fait $_SERVER['SCRIPT_NAME'] que je devais utiliser, je m'étais simplement tromper de superglobale.