probleme avec une fonction

Eléphant du PHP | 77 Messages

31 août 2009, 19:07

Il y a cela:
if ($x == "G" && !isset($valeur))
					$valeur = $_GET["$nom"];

				if ($x == "P" && !isset($valeur))
					$valeur = $_POST["$nom"];

				if ($x == "C" && !isset($valeur))
					$valeur = $_COOKIE["$nom"];


				if ($x == "S" && !isset($valeur))
					$valeur = $_SERVER["$nom"];


Voilà.....


Merci pour ton aide

ViPHP
ViPHP | 5924 Messages

31 août 2009, 19:11

Euh, de quel fichier ça vient ?

Eléphant du PHP | 77 Messages

31 août 2009, 19:22

il vient d'un fichier dans lequel il y a une classe. Et dans cette classe il y a cette fonction avec cet extrait de code.

ViPHP
ViPHP | 5924 Messages

31 août 2009, 19:26

Il vient d'un truc dans lequel il y a des choses, choses dans lesquelles il y a des machins ? :)

Je demandais le nom du fichier :)

Eléphant du PHP | 209 Messages

31 août 2009, 19:35

Tipi,

Cette ligne :
file_get_contents("C:\Program Files\EasyPHP 3.0\conf_files\php.ini");
ne fait strictement rien tout comme un file_get_contents qui traine en plein milieu du code sans être affecté à une variable ou affiché ne fait rien.
Regarde simplement ici : http://fr3.php.net/file_get_contents.
Et regarde les exemples, tu comprendras bien que ta ligne ne fait rien.

En ce qui concerne ton erreur, si ta version de php est supérieure à 4.10, tu veux récupérer le contenu de la variable $_GET['module'].
Or, il semble que l'indice "module" n'existe pas, ce qui veut dire que tu n'a pas appelé ta page de cette façon : mapage.php?module=truc.
En appelant mapage.php, sans aucun autre paramètre, $_GET est un tableau vide. Chaque indice du tableau $_GET contient un paramètre passé dans l'url de la page. Par exemple : mapage.php?var1=1&var2=test donnera : $_GET['var1'] == 1 et $_GET['var2'] == "test'...

Eléphant du PHP | 77 Messages

31 août 2009, 19:42

Le nom du fichier est:

classe boutique.php

Ma variable est $_GET['nom'] et son contenu module. Donc il est là mon problème, je ne comprend pourquoi il me dit que l'index est non définie

Merci

ViPHP
ViPHP | 5924 Messages

31 août 2009, 19:46

Ah oui, j'avais pas vraiment lu.
Bah suis les conseils de SpintroniK comme je te disais.

En relisant, en fait, c'est juste que la librairie que t'utilises est codée avec des après-skis.
A la limite, tu peux :
- Masquer les erreurs causées par cette fonction précisément avec un @
- Corriger le code de la fonction en question en ajoutant des contrôles sur l'existance de l'indice du tableau
- Insulter copieusement les concepteurs de cette librairie

Eléphant du PHP | 209 Messages

31 août 2009, 19:58

Tipi, NON
Ta variable est $_GET["$nom"], et $nom == "module".
Je sais ça grâce à l'erreur : Notice: Undefined index: module in C:\Program Files\EasyPHP 3.0\www\nbijoux\classe_boutique.php on line 360
qui veut dire que $_GET['module'] n'existe pas...

Eléphant du PHP | 77 Messages

31 août 2009, 20:03

Je dois faire quoi Spintronik???
Initialiser $_GET['module']?
Est ce une bonne idée de l'initialiser à $_GET['module'] = ' ' ?

Merci

ViPHP
ViPHP | 5924 Messages

31 août 2009, 20:09

A la limite, tu peux simplement ne pas le récupérer si tu n'en a pas besoin (tu passes 'P' à la fonction et non 'GP').

Eléphant du PHP | 77 Messages

31 août 2009, 20:18

ça ne change rien. J'ai passé comme paramètre "p" mais j'ai la même erreur.

ViPHP
ViPHP | 5924 Messages

31 août 2009, 20:24

Et juste G ?
Avant de continuer déjà. Tu passes le paramètre comment ? Par GET, POST, ou COOKIE ?

Eléphant du PHP | 77 Messages

31 août 2009, 21:33

Par GET.

ViPHP
ViPHP | 5924 Messages

31 août 2009, 22:19

Bah juste G :)
Et si tu veux assurer le coup :
if(!isset($_GET['module'])) $_GET['module'] = null;
:wink:

Eléphant du PHP | 77 Messages

01 sept. 2009, 10:55

Ok.

Mais le truc c'est que cette fonction est appelé plusieurs mais pas avec le paramètre. Cela peut être autre chose que module. Est ce que je peux faire cela:

$_POST['$nom'] = null;
$_GET['$nom'] = null;
$_COOKIE['$nom'] = null;
$_SERVER['$nom'] = null;

Comme cela c'est générique quelque soit la donnée, enfin... c'est mon idée

Merci de ton aide