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. 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
    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. $module=$boutique->recup_variable('module','GP');

        je persiste tu appelles en passant encore avec GP donc GET et POST
        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. 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. 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