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. Tes elseif ne sont pas bon , il faut un espace entre else et if : }else if () {
    0
    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
      0
  2. 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'.
    0
    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 .
      0
      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.
        0
        1. 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
          0
          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/
            0
            1. je teste en local, c'est bizarre que pour toi cela marche en ligne, encore merci
              je ferai l'essai en ligne
              0
          2. "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.
            0