Lire un argument passe dans l'URL

oamram Messages postés 15 Date d'inscription mercredi 29 mai 2002 Statut Membre Dernière intervention 23 janvier 2006 - 29 mai 2002 à 16:39
Nerolph Messages postés 58 Date d'inscription vendredi 24 octobre 2003 Statut Membre Dernière intervention 4 septembre 2012 - 1 déc. 2004 à 18:30
Bonjour,

Je debute en PHP et j'ai un problème lorsque je veux récupérer une variable passée en argument dans l'URL.

Mon prg test est suivant :

<?php
echo $nom;
?>

et lorsque j'utilise l'URL suivante :
http://localhost/test.php?nom=toto

rien ne se passe !

Je suis sous windows XP et j'utilise EasyPHP 1.6.

Help me !

Olivier.
A voir également:

12 réponses

Vapula Messages postés 83 Date d'inscription mardi 9 avril 2002 Statut Membre Dernière intervention 17 mai 2005
29 mai 2002 à 16:53
Lut

Dans easyphp quand tu accède à la page d'accueil, tu as un bouton infos php ou quelque chose dans ce style, tu va dedans (c'est un fichier qui reunit toutes les variables globales de php.

La fonction que tu recherche s'appele Query String
elle renvoie toutes les variables passé en parametres ou tu a la varaiables REQUEST URI qui te renvoie le nom de fichier plus les parametres

@+
Vapula
0
oamram Messages postés 15 Date d'inscription mercredi 29 mai 2002 Statut Membre Dernière intervention 23 janvier 2006
29 mai 2002 à 17:20
Je viens d'essayer cette solution, mais sans résulat !

<?php
echo $QUERY_STRING;
echo $nom;
?>
0
oamram Messages postés 15 Date d'inscription mercredi 29 mai 2002 Statut Membre Dernière intervention 23 janvier 2006
29 mai 2002 à 17:21
Je viens d'essayer cette solution, mais sans résultat !

<?php
echo $QUERY_STRING;
echo $nom;
?>
0
Vapula Messages postés 83 Date d'inscription mardi 9 avril 2002 Statut Membre Dernière intervention 17 mai 2005
29 mai 2002 à 17:39
Lut

Ta variable query_string te renvoie
"ma_var=donnes"
J'ai essayé ca fonctionne voila ma page html

<html>
<head><titlte></title>

<form action="./test.php" method="get">


</form>

</html>

mon fichier test.php

<?
print($QUERY_STRING);
?>

@++
Vapula
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Vapula Messages postés 83 Date d'inscription mardi 9 avril 2002 Statut Membre Dernière intervention 17 mai 2005
29 mai 2002 à 17:40
Lut

Ta variable query_string te renvoie
"ma_var=donnes"
J'ai essayé ca fonctionne voila ma page html

<html>
<head><titlte></title>

<form action="./test.php" method="get">


</form>

</html>

mon fichier test.php

<?
print($QUERY_STRING);
?>

@++
Vapula
0
oamram Messages postés 15 Date d'inscription mercredi 29 mai 2002 Statut Membre Dernière intervention 23 janvier 2006
29 mai 2002 à 18:04
Je viens d'essayer tes 2 scripts (copier coller) et... ca ne fonctionne pas ! J'ai une belle page blanche qui s'affiche...

Le problème vient donc soit de la version de PHP, soit de Internet explorer.
- j'utilise PHP 4.2. Quelle version de PHP utilises tu (au cas ou il aurait modifier cette fonction) ?
- j'utilise internet explorer 6 dans lequel j'ai activé le niveau de sécurité le plus bas !

As tu une idéee ?

Merci encore,

Olivier.
0
Vapula Messages postés 83 Date d'inscription mardi 9 avril 2002 Statut Membre Dernière intervention 17 mai 2005
29 mai 2002 à 19:16
Lut

J'utilise easyPhp 1.5 avec IE 5.5.
A mon avis ca doit être le php qui a des sautes d'humeur

Perso je seche, je sais que mon script fonctionne mais je vois pas ou est le pb

@+
Vapula
0
cs_veve33 Messages postés 10 Date d'inscription dimanche 7 avril 2002 Statut Membre Dernière intervention 23 août 2002
30 mai 2002 à 10:54
tu as aussi cette solution :
<?php
$nom = $HTTP_GET_VARS("nom");
print $nom;
?>

(je ne suis pas sur qu'il y ait un '$' devant http_get_vars)

et enfin quel editeur php utilises-tu ? car si c'est phpedit c'est normale tu doit avoir une erreur de synthax pour cela arrete le debugeur icone satelite dans la barre des taches...

Voila mais normalement ca fonctionne tres bien.

Veve33
0
BastGau Messages postés 10 Date d'inscription jeudi 30 mai 2002 Statut Membre Dernière intervention 12 décembre 2004
31 mai 2002 à 13:20
Pour être en conformité avec le PHP 4 et les autres versions vous devez faire :

$nom = $_GET['nom']; > Pour un formulaire posté avec la méthode get ou une variable se situant en URL.

$nom = $_POST['nom']; > Pour un formulaire posté avec la méthode post

$nom = $_REQUEST['nom']; > Regroupe les variables des méthodes post et get (formulaire et url)

$nom = $_SESSION['nom']; > Pour une variable contenu dans une session ...

Pour résumer, si ton php.ini est configuré tel que " register_globals = off ", tu ne peux plus acceder à tes variables juste en les appelant sans passé par le tableau associatif qui les contient ...

BastGau
0
dexterovitch Messages postés 43 Date d'inscription jeudi 11 décembre 2003 Statut Membre Dernière intervention 6 janvier 2007
16 août 2004 à 11:21
salut 'avais le même probléme que toi et je crois avoir trouver la solution tu utilise $_server[query_string] le seul probléme c'est qu'il te retourne toute la chaine par exemple si tu avais sa :
mapage.php?nom=$variable et bein quand tu vas mettre
echo $_server[query_string] tu verras afficher nom=[$variable]
([variable] veut dire le contenu de la variable $variable)
bon aprés tu trouve le bon algorithme pour decouper ta chaine c'est tout si tu trouve dis le moi je te le passe
a+ et bon courage
0
MeaZdarF Messages postés 4 Date d'inscription jeudi 12 août 2004 Statut Membre Dernière intervention 24 novembre 2004
16 août 2004 à 13:54
Tu dois utiliser la fonction $GET['variable']

<?php echo $_GET['nom']; ?>

je crois que sur la derniere version de php les "register globals" sont desactivées par défaut. il faut dc préciser le type de variable (cf. BastGau).

MeaZdarF

( www.Gs-TeaM.clan.st )
0
Nerolph Messages postés 58 Date d'inscription vendredi 24 octobre 2003 Statut Membre Dernière intervention 4 septembre 2012
1 déc. 2004 à 18:30
Je confirme :
Tu dois effectivement utiliser
$_GET['nom']
qui te renverra la valeur de la variable nom passé en paramètre de l'URL. N'oublie pas les quotes (apostrophes) !

:question) Ner0lph :question)
0
Rejoignez-nous