Problème script php

Bonjour,

J'ai un problème avec ce bout de code çi dessous, lors du chargement de la page tout est correct sauf qu'il m'affiche " Notice: Undefined index: fiche in..........." cela viendrait de la ligne du code $fiche = $_GET['fiche'];

Pouvez vous me dire pourquoi?
Ce bout de code permet que si on clic sur une image cela affiche des commentaires

<?php
//on met le numéro de la fiche dans une variable
$fiche = $_GET['fiche'];
//si on veut afficher la fiche correspondant à lla fiche 1
if ($fiche == 1)
{
echo 'on met du texte';
}
//si on veut afficher la fiche correspondant à la fiche 2
elseif ($fiche == 2)
{
echo 'on met du texte la fiche 2';
}
//etc... pour toutes les fiches

//Si on a demandé à afficher la page 1
elseif (!isset($_GET['page']) || $_GET['page'] == 1)
{
?>
Configuration: Windows XP
Internet Explorer 7.0

7 réponses

  1. "Bis repetita placent"

    Ton pb se situe dans le script qui appelle celui-ci qui, semble-t'l ne génère pas le paramétre 'fiche'

    Sans ce script amont, nous aurons du mal à t'aider.
    1. Il y a un ?> en trop a la fin , mais je ne pense pas que ce soit ça qui cause le message d'erreur , tu teste en local ou en ligne ? chez moi a marche quand je test en ligne :
      http://kgftp.free.fr/aide/
      1. je teste en local, c'est bizarre que pour toi cela marche en ligne, encore merci
        je ferai l'essai en ligne
    2. Re bonjour,

      je vous donne mon code en entier et si vous voulez y regarder ça serait sympa de votre part, en effet je n'arrive tjs pas à enlever ce message. Merci de le rectifier si nécessaire

      <?php
      //Epaisseur du cadre des photos
      $epaisseur_cadre = '3';
      //couleur du cadre des photos
      $couleur_cadre = '000000';
      //style complet
      $cadre_style = 'style="border:solid '.$epaisseur_cadre.'px #'.$couleur_cadre.';"';
      ?>
      <br>
      </div>
      <div class="centre">
      <?php
      //on met le numéro de la fiche dans une variable
      $fiche = $_GET['fiche'];
      //si on veut afficher la fiche correspondant à l'album 1
      if ($fiche == 1)
      {
      echo 'Texte que tu veux afficher pour la fiche 1';
      }
      //Si on a demandé à afficher la page 1
      else if (!isset($_GET['page']) || $_GET['page'] == 1)
      {
      ?>
      <!-- Debut du tableau -->
      <table border="0" bgcolor="" width="99%" class="centre">
      <!-- Une ligne -->
      <tr>
      <!-- Une colonne -->
      <td width="33%" align="center" valign="top">
      <a href="?fiche=1">
      <img src="image/1.gif" width="120" height="120" <?php echo $cadre_style; ?> ></a>
      <br> texte
      <br>
      <br>
      </td>
      <!-- Fin de la colonne -->
      </table>
      <!-- Fin du tableau -->
      <?php
      }

      ?>

      </div>
      ?>

      Merci
      1. Tes elseif ne sont pas bon , il faut un espace entre else et if : }else if () {
        En PHP, elseif et else if produisent le même résultat.
        1. D'accord avec croy ,ton script est bon , ça dois venir de l'appelle de la variable fiche par la methode $_GET , en tout cas ça ne viens pas de cette portion de script .
          1. Il faut regarder un cran plus haut dans le script qui appelle celui dont tu nous donnes un extrait.

            Il ne doit pas générer de paramètre 'fiche'.
            1. Tes elseif ne sont pas bon , il faut un espace entre else et if : }else if () {
              1. Merci de m'avoir répondu, j'ai effectué les modifications else if , ça fonctionne mais j'ai toujours ce message ' Notice undefined index qui s'affiche lorsque l'on clique sur la photo ( il me met la ligne là ou il y a $fiche = $_GET['fiche']; )

                Voici le code :

                <?php
                //on met le numéro de la fiche dans une variable
                $fiche = $_GET['fiche'];
                //si on veut afficher la fiche correspondant à la photo 1
                if ($fiche == 1)

                {
                echo 'Texte que tu veux afficher pour la photo 1';
                }
                //si on veut afficher la fiche correspondant à la photo 2
                else if ($fiche == 2)
                {
                echo 'Texte que tu veux afficher pour la photo 2';
                }
                //etc... pour toutes les fiches

                //Si on a demandé à afficher la page 1
                else if (!isset($_GET['page']) || $_GET['page'] == 1)
                {
                ?>

                Merci de m'aider, je ne comprend plus