Page 1 sur 1

Passage de variable via url

Posté : 12 déc. 2008, 00:49
par idela
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

Posté : 12 déc. 2008, 01:22
par furiouslol
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

Posté : 12 déc. 2008, 02:30
par AB
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é.

Posté : 12 déc. 2008, 10:18
par charabia
Il ne manquerait pas un .php ?
page.php?type=saucisse

Posté : 12 déc. 2008, 14:25
par caroube
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 ?

Posté : 12 déc. 2008, 18:18
par niuxe
Salut,

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

++

Posté : 12 déc. 2008, 18:25
par AB
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'.

Posté : 12 déc. 2008, 19:25
par idela
à 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

Posté : 12 déc. 2008, 19:58
par furiouslol
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

Posté : 12 déc. 2008, 20:05
par idela
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,

Posté : 12 déc. 2008, 21:34
par sadeq
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.