Re-Notice, pas d'affichage avec isset()

Ish
Eléphant du PHP | 200 Messages

15 mai 2006, 11:33

Bonjour à tous,

je suis encore là avec mes problemes de "Notices" ...

Voilà, j'ai d'autre élement troublant concernant mon application...

Dans mon code j'ai une "Notice qui s'affiche" du style :

Code : Tout sélectionner

Notice: Undefined index: operation in c:\...\p1.php on line 158
Lorsque je fait un isset($_REQUEST['id']) && isset($_REQUEST['operation'])
la notice s'enleve, mais l'application ne marche plus car ...
J'ai un tableau qui reference beaucoup de note et lorsque je clique sur son "id" ... une popup de modification de note s'ouvre avec des champs pré-remplis que l'on peut modifier.

Mais dès que je fais cette condition IF avec les isset (ci-haut), les champs ne sont plus pré-remplis ...
voici une parie du code ;
//Opération et stockage des champs dans la structure note
$note = $form->operation($_REQUEST['id'], $_REQUEST['operation']);

//Affectation des valeurs dans les champs et taille des champs
$champcode_affaire->valeur($note->code_affaire);
$champcode_metier->valeur($note->code_metier);
$champcode_site->valeur($note->code_sites_note);
....
.... // ensemble des champs et propriété de la note
La vie est faite d'imprevu, et l'imprevu fait la vie
Gardez la peche !!

ViPHP
ViPHP | 3607 Messages

15 mai 2006, 11:41

la problème vient de l'initialisation de tes variables... tu le dits toi -même
Lorsque je fait un isset($_REQUEST['id']) && isset($_REQUEST['operation'])
la notice s'enleve
ça veut dire que tu initialise mal tes variables, ce qui produit par la suite une erreur sur tes methodes...

Ish
Eléphant du PHP | 200 Messages

15 mai 2006, 11:58

Je comprend pas là ....
La vie est faite d'imprevu, et l'imprevu fait la vie
Gardez la peche !!

Ish
Eléphant du PHP | 200 Messages

15 mai 2006, 13:04

je comprends pas le coup de
tu initialise mal tes variables, ce qui produit par la suite une erreur sur tes methodes...
Normalement ya pas de probleme puisque si je mets pas de condition "isset()", ça marche très bien !!!
La vie est faite d'imprevu, et l'imprevu fait la vie
Gardez la peche !!

Ish
Eléphant du PHP | 200 Messages

15 mai 2006, 14:43

Sinon quelle serait la solution pour enlever les NOTICE....

parceque ce sont des indications qui ne sont pas à prendre à la legere mais j'aimerais pouvoir regarder ce que ca donne sans !
La vie est faite d'imprevu, et l'imprevu fait la vie
Gardez la peche !!

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

15 mai 2006, 15:40

Au début de ton script ajoute la commande print_r($_REQUEST);

Elle te permet de voir ce que contient ton objet request. Tu devrais y trouver quelque chose de la forme :

Code : Tout sélectionner

array ( 'id' => 'valeur', 'operation' => 'valeur', ...)
s'il manque les clés "id" ou "operation" c'est que ceux-ci ne sont pas envoyés à ta page. Le isSet() retournera alors la valeur faux. Cela dit, ta méthode operation() fonctionne peut être même si la valeur est absente, il te suffit alors de donner une valeur par défaut à ta variable :
$id = (isSet($_REQUEST['id'])) ? $_REQUEST['id'] : 0;
// si $_REQUEST['id'] est défini alors utilise la valeur de $_REQUEST['id'], sinon utilise 0

Ish
Eléphant du PHP | 200 Messages

15 mai 2006, 15:55

ok ok ok ... voilà ce que me renvoie le print_r($_REQUEST) :

Code : Tout sélectionner

Array ( [id] => 1 [PHPSESSID] => 5ba4ce1de5f1fb2663d0d839f0c2c46e )
hein hein ...
La vie est faite d'imprevu, et l'imprevu fait la vie
Gardez la peche !!

Ish
Eléphant du PHP | 200 Messages

15 mai 2006, 17:05

Le probleme ici est que lorsque je passe dans la condition du ISSET(), ça ne marche plus.
Comme si le isset($_REQUEST[]) me renvoyer FAUX ... donc je ne pouvais plus acceder à la fonctionnalité de mes methodes

je comprends pas pourkoi ?
La vie est faite d'imprevu, et l'imprevu fait la vie
Gardez la peche !!