Passage de variable via url

Petit nouveau ! | 7 Messages

12 déc. 2008, 00:49

Bonjour,

J'ai un petit souci pour passer une variable, et la récupérer. la variable s'implémente à l'url de cette manière

page?type=saucisse

sur la page 'page?type=saucisse' je voudrai récupérer la variable "saucisse" mais rien n'y fait. Voici le code en question

Code : Tout sélectionner

<?php echo $_GET['type']; ?>
qui a pour résultat cette erreur:
Notice: Undefined index: type in \www\vb\top.php on line 3

.
En fait, ma question est la suivante: comment récupérer une variable qui n'a pas pour origine un formulaire?

Je ne sais pas si j'ai été clair, merci pour votre aide :D

Eléphant du PHP | 254 Messages

12 déc. 2008, 01:22

Salut

C'est bien avec un $_GET qu'on récupere ce genre de variables

Fait un print_r($_GET);

Et vérifie que t'as bien un attribut "type" dans ton tableau de GET

ViPHP
AB
ViPHP | 5818 Messages

12 déc. 2008, 02:30

Comme l'a dit furiouslol c'est bien la bonne syntaxe mais peut-être aussi que tu veux afficher la variable avant qu'elle ne soit passée auquel cas cette erreur est normale.

Essaie plutôt
 <?php

if (isset($_GET['type'])) echo 'type = '.$_GET['type'];

?> 
Sinon si tu travaille en local vérifie que ton serveur d'évaluation (Wamp, easyPHP...) soit démarré.

Avatar du membre
ViPHP
ViPHP | 3008 Messages

12 déc. 2008, 10:18

Il ne manquerait pas un .php ?
page.php?type=saucisse

Eléphant du PHP | 422 Messages

12 déc. 2008, 14:25

mais peut-être aussi que tu veux afficher la variable avant qu'elle ne soit passée
ca veut dire quoi ça ? Que la variable n'arrive dans la page qu'au milieu du code PHP ?

Eléphant du PHP | 453 Messages

12 déc. 2008, 18:18

Salut,

Peut être que tout simplement il n'y a pas eu un urlencode() dans la variable d'url ?

++

ViPHP
AB
ViPHP | 5818 Messages

12 déc. 2008, 18:25

Salut,

Peut être que tout simplement il n'y a pas eu un urlencode() dans la variable d'url ?

++
A bah non ça peut pas être ça. Pas la peine d'utiliser urlencode() si pas besoin. En l'occurrence dans ce cas ça ne change rien donc ça ne sert à rien.

echo urlencode('saucisse') affiche 'saucisse'.

Petit nouveau ! | 7 Messages

12 déc. 2008, 19:25

à tous, merci pour votre aide,

@furiouslol j'ai essayé le

Code : Tout sélectionner

print_r($_GET);
, ça me retourne Array() donc le code ne récupère pas la variable. Enfin c'est ce que je comprends.

qu'entends tu par Et vérifie que t'as bien un attribut "type" dans ton tableau de GET Je suis un peu inexpérimenté en php, je ne connais pas cette histoire de tableaux


@charabia voui pardon je l'ai oublié, mais seulement dans l'exemple...


Je pense que l'histoire du tableau de get mérite qu'on s'y penche,

merci d'avance

Eléphant du PHP | 254 Messages

12 déc. 2008, 19:58

Salut

C'est bien avec un $_GET qu'on récupere ce genre de variables

Fait un print_r($_GET);

Et vérifie que t'as bien un attribut "type" dans ton tableau de GET
C'etait juste la vérification de ce que ta page recoit. A la question
En fait, ma question est la suivante: comment récupérer une variable qui n'a pas pour origine un formulaire?
j'ai répondu que c'est bienj comme ca qu'il faut faire, mais le probleme est ailleurs, tu utilises la bonne méthode de récupération mais rien n'arrive sur ta page, faut donc voir avant, c'est a dire a l'envoi de l'url

Depuis ou envoie tu l'url ? Qu'est ce qui est affiché dans la barre de ton navigateur ? Les variables en GET devraient etre visible dans l'url

Petit nouveau ! | 7 Messages

12 déc. 2008, 20:05

problème résolu


en fait, je ne comprends toujours pas pourquoi cela ne fonctionnait pas. En fait j'appelai la variable comme url source d'un frame html, je l'ai changée de place et zou, tout est ok.

Code : Tout sélectionner

<?php $url = $_GET['url']; echo $url; ?>
merci à vous,

Modérateur PHPfrance
Modérateur PHPfrance | 2575 Messages

12 déc. 2008, 21:34

Modération :
idela, si ta question est résolue, pense à ajouter le tag [Résolu]
pour indiquer aux personnes qui voudront consulter ce sujet qu'il contient une solution.
Tu peux réaliser cette opération en cliquant sur le bouton Image en haut à gauche de ce sujet.
--------//////----//---//----//////
-------//---//----//---//----//---//
------//////----//////-----//////
-----||--------||--||---||
Prendre le recul n'est pas une perte de temps.


ps: Affrontez moi dans l'arène