Problème <a href... impossible de récupérer une variable

Petit nouveau ! | 5 Messages

02 févr. 2009, 20:56

Bonjour à tous, tout d'abord merci de prendre le temps de lire mon message.

Voici mon problème, quand je met ceci dans x.php:
<a href='modifier.php?valeur=1'>Modifier</a>

et ceci dans modifier.php :
if ($valeur==1)
{...

J'ai ceci lors de l'exécution de ma page modifier.php :
Notice: Undefined variable: valeur in C:\sites\agenda\modifier.php on line 3


Je ne comprends pas pourquoi. Pouvez vous m'aider?
Je vous en remercie d'avance.

Mammouth du PHP | 991 Messages

02 févr. 2009, 21:11

Bonjour.

je ne peut te recommander de regarder un cours sur les "superglobales"

En effet , ta $valeur est indéfinie , pour cause php ne la connait pas avec sa configuration de base
(je ne me souviens plus de la directive a modifié dans php.ini)

Néanmoins avec les superglobales : $_POST,¨$_GET, $_SESSION , etc ...

Donc dans ton souci il faudrait utilisé $_GET
$_GET est un tableau qui a pour colonne la "variable en question"
donc dans ton cas il faudrait faire : $_GET['valeur'], n'oublie pas de faire les tests sur la variable (htmlentities etc ..)

Bye Hawk
DevOps, Symfony4, Hoa

Petit nouveau ! | 5 Messages

02 févr. 2009, 21:41

Bonsoir, je te remercie pour ta réponse, en effet grâce à toi j'ai trouvé ma réponse.

Pour ceux qui ont du mal comme moi dans modifier.php on met ceci :

$val=$_GET["valeur"];
if ($val==1)



Merci encore pour ton aide

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

03 févr. 2009, 16:13

En fait (et pour la petite histoire ;)), il s'agit effectivement d'un paramètre de la configuration de php qui s'appelle register_globals. Lorsqu'il est activé, php va déclarer automatiquement toutes les variables reçues par la page via leur p'tits noms (et tu peux effectivement utiliser directement $valeur).

Toutefois, ce paramétrage est aussi une faille et a été désactivé par défaut dans les dernières versions de php. En effet, impossible de savoir si le $valeur auquel tu fais appel vient d'un cookie, de la session, s'il a été transmis via un formulaire ou se trouve dans l'url, ce qui peut poser quelques problèmes de sécurité.
(Ben oui, supposons que tu veuilles tester dans la session si la variable "adminAuxPleinsPouvoirs" est à vrai, et que je passe cette même variable dans l'url, ben tu sais pas laquelle tu testes et je risque de disposer des pleins pouvoirs sans même m'être authentifié :))

Il est donc très fortement recommandé de laisser cette configuration désactivée, et de spécifier à chaque fois l'origine de la variable que l'on souhaite utiliser (via $_GET, $_POST, $_SESSION, etc.)

Ceci étant, 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 ;)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphant du PHP | 447 Messages

03 févr. 2009, 19:00

Les piafs auront toujours le dernier mot! :D

paske ils volent au dessus des masses certainement...
Probably (only a) Human Problem?

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

03 févr. 2009, 19:05

Les piafs auront toujours le dernier mot! :D
Attention, terrain dangereux... :twisted: :-*

Eléphant du PHP | 447 Messages

03 févr. 2009, 19:17

Les piafs auront toujours le dernier mot! :D
Attention, terrain dangereux... :twisted: :-*
ça, ça dépend si t'as une perruque en peau d'fesse ou une bonne moumoute... paske là le piaf y peut toujours essayer de te canarder, avec la moumoute tu crains rien! :mrgreen:
Probably (only a) Human Problem?

Petit nouveau ! | 5 Messages

08 févr. 2009, 23:12

^^
Merci à tous pour vos réposes