Problème avec une fonction php

Résolu
Bonsoir,

Je suis en train de faire un site web marchand. Dans un script j'appelle une classe et une fonction dans cette classe.

Voici l'appelle à la fonction:

// appel du module principal
$module=$boutique->recup_variable("module","GPC");

Voici le fonction:

function recup_variable($nom, $order='GPCS')
{
for ($i=0; $i<strlen($order);$i++)
{
$x = strtoupper(substr($order, $i, 1));
if (phpversion() < "4.1.0")
{
if ($x == 'G' && !isset($valeur))
{
$valeur = $GLOBALS['GET_VARS']["$nom"];
}
if ($x == 'P' && !isset($valeur))
{
$valeur = $GLOBALS['POST_VARS']["$nom"];
}
if ($x == 'C' && !isset($valeur))
{
$valeur = $GLOBALS['COOKIE_VARS']["$nom"];
}
if ($x == 'S' && !isset($valeur))
{
$valeur = $GLOBALS["$nom"];
}
}
else
{
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"];
}
}
return $valeur;
}

Et voici mon erreur:

Notice: Undefined index: module in C:\Program Files\EasyPHP 3.0\www\nbijoux\classe_boutique.php on line 363
Notice: Undefined index: module in C:\Program Files\EasyPHP 3.0\www\nbijoux\classe_boutique.php on line 366
Notice: Undefined index: module in C:\Program Files\EasyPHP 3.0\www\nbijoux\classe_boutique.php on line 369

Je ne comprend pas le problème

merci de votre aide
Configuration: Windows XP
Firefox 3.5.2

11 réponses

  1. C'est bon le problème est résolu.
    J'ai changé la fonction error_reporting(E_ALL --> E_ALL~ E_NOTICE) .

    Merci pour votre aide
    1. Ce script devrait me permettre d'insérer le module que je souhaite selon le contexte. Le module à inclure est précisé dans l'URL. Si aucun module n'est précisé, c'est le cas sur la page d'accueil alors il faut que j'inclus le module_accueil.php.

      Voilà plus de précision

      Merci de votre aide.
      1. même si je met get ou post cela ne change rien. J'ai l'erreur qui se porte sur le choix qe j'ai effectué.

        Voici pour preuve:

        // appel du module principal
        $nom_module=$boutique->recup_variable("module","G");

        Notice: Undefined index: module in C:\Program Files\EasyPHP 3.0\www\nbijoux\classe_boutique.php on line 366

        Donc voilà......
        1. $module=$boutique->recup_variable('module','GP');

          je persiste tu appelles en passant encore avec GP donc GET et POST
          1. Voici une partie de ma fonction, enfin....ce qui me semble poser problème

            $page_html = file_get_contents($maquette);

            // création du tableau des blocs
            $tab_blocs = $boutique->lire_tableau_blocs($page_html);

            // appel du module principal
            $module=$boutique->recup_variable('module','GP');

            if (!$module)
            $module='accueil';

            $file='module_'.$module.'.php';

            if (file_exists($file))
            include($file);

            Merci pour votre aide
            1. si je comprend bien tu fais une boucle sur GPC

              et tu essayes de recupérer ainsi

              $valeur=$_GET['module']

              $valeur=$_POST['module']

              $valeur=$_COOKIE['module']

              si tu reçois en GET tu ne doit pas recevoir en POST en principre

              donc dans ton appel mets simplement un des 3

              G P ou C