IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

probleme avec le diaporama en PHP


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 6
    Points : 5
    Points
    5
    Par défaut probleme avec le diaporama en PHP
    Bonjour à tous,

    J'ai un petit souci avec le script en php du diaporama trouvé dans les sources php de ce site à cette adresse:

    http://php.developpez.com/sources/?page=images#diaporama-image

    Mon problème est que lorsque la page est chargé pour la première fois sur la première image un message d'erreur s'affiche:

    Notice: Undefined index: index in c:\documents and settings\jean\mes documents\tests php\diaporama.php on line 20
    Lorsque je fais défiler les images tout se passe bien et quand je reviens à la première image le message ne réapparait plus.

    J'ai cherché à résoudre ce problème mais je n'y arrive pas...

    j'apprends le langage PHP occasionnellement et ne suis vraiment pas un expert en la matière.

    Merci d'avance à tous ceux qui pourrait m'aider à résoudre ce problème.

    Voici le code du diaporama :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    <?php
    $arrFichier = array();
    $i=0;
    $directory='images/';
    // Ouvre un dossier bien connu, et liste tous les fichiers
    if (is_dir($directory)) {
      if($dh = opendir($directory)) {
        while (($file = readdir($dh)) !== false) {
         $extension = pathinfo($directory.$file);
          if($file!='..' && $file!='.' && strtolower($extension['extension'])=='jpg'){//N'affiche pas le . et ..
            $arrFichier[$i] = $file; //PLace les fichier dans un tableau
            $i++;
          }
        }
      }
      closedir($dh); //Il est vivement conseiller le repertoire pour toute autre opération sur le systeme de fichier.
    }
     
    //Initalisation.
    if($_GET['index']!=''){
      $index = $_GET['index'];
    }else{
      $index = 0;
    }
     
     echo '<img src="'.$directory.'/'.$arrFichier[$index].'">'; //Affichage de l'image
    ?>
    <br />
    <?php
     //Affichage des liens précédent et suivant.
    if($index > 0){ //N'affiche pas le boutton au premier
      echo '<input onClick="window.location=\''.$_SERVER['SCRIPT_NAME'].'?index='.($index-1).'\'" type="button" name="precedent" value="<<">';
    }
     
     
     
    if($index < (count($arrFichier)-1)){ //N'affiche pas le boutton suivant lorsqu'il y a pas d'image apres
      echo ' <input onClick="window.location=\''.$_SERVER['SCRIPT_NAME'].'?index='.($index+1).'\'" type="button" name="suivant" value=">>">';
    }
    ?>

  2. #2
    Membre éclairé Avatar de cadoudal56
    Profil pro
    Inscrit en
    Février 2005
    Messages
    694
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2005
    Messages : 694
    Points : 779
    Points
    779
    Par défaut
    Hello,

    A ta place, et d'apres ce que je comprends de ton script....
    Le probleme doit se situer ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    //Initalisation.
    if($_GET['index']!=''){
      $index = $_GET['index'];
    }else{
      $index = 0;
    }
    Car quand tu dis :
    if($_GET['index']!=''){

    => Quand $_GET['index'] n'est pas égal à vide....
    => $index est egal à $_GET['index']

    Mais comment se passe le chargement ? Est ce que tu lui envoi un index=0 ? Par quel lien transment tu tout cela ?

    Est ce que le lien est diaporama.php ou diaporama.php?index=0 ?

    Tu peux peut-etre essayer ceci qui sera peut-etre plus efficace :
    if(!$_GET['index']){


    Ou alors tu fais en sorte que le parametre soit passé comme ceci :
    diaporama.php?index=0



    @+
    cadou
    LMN24 - Site d'actualité internationale multilingue
    http://www.lmn24.com

  3. #3
    Membre éprouvé Avatar de FCYPBA
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 745
    Points : 952
    Points
    952
    Par défaut
    Bonjour,
    Quand tu arrives sur la page pour la première fois tu ne dois pas avoir de paramètres donc le tableau $_GET ne contient rien. Pourtant dans le script tu essaies de savoir si $_GET['index'] vaut ''

    Il faut modifier ce test de façon à tester si la variable existe au moyen de isset

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if(isset($_GET['index'] && $_GET['index']!=''){
      $index = $_GET['index'];
    }else{
      $index = 0;
    Pierre
    1. Dans le manuel ( PHP, MySQL,..., rayez la mention inutile), tu te plongeras à deux fois plutôt qu'aucune.
    2. Dans la doc php, tu liras attentivement les sections Chaines de caractères, Tableaux et Système de fichiers
    3. Un code rapide c'est bien, un code maintenable c'est mieux
    ...

    Why was the font tag an orphan ? Because it didn't have a font-family.

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    FCYPBA

    je viens de mettre ton code et j'ai un parse error à ligne 20, j'ai donc rajouté une accolade qui manquait mais j'ai toujours un parse error à la ligne 20

    en tout cas merci de vos réponses.

  5. #5
    Membre éprouvé Avatar de FCYPBA
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 745
    Points : 952
    Points
    952
    Par défaut
    Il manque une parenthèse fermante au niveau de la fonction isset

    Version corrigée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if(isset($_GET['index']) && $_GET['index']!=''){
      $index = $_GET['index'];
    }else{
      $index = 0;
     }
    Pierre
    1. Dans le manuel ( PHP, MySQL,..., rayez la mention inutile), tu te plongeras à deux fois plutôt qu'aucune.
    2. Dans la doc php, tu liras attentivement les sections Chaines de caractères, Tableaux et Système de fichiers
    3. Un code rapide c'est bien, un code maintenable c'est mieux
    ...

    Why was the font tag an orphan ? Because it didn't have a font-family.

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Super FCYPBA ça marche nickel.

    malgré le peu de connaissances que j'ai en PHP j'aurais pus trouver ça tout seul !!!

    J'suis vraiment nul....Et je manque aussi de pratique.

    Enfin ça marche comme il faut et je vais l'intégrer direct sur le site que je suis en train de faire.

    Merci encore FCYPBA

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Probleme avec un tableau en php
    Par kakashi05 dans le forum Langage
    Réponses: 3
    Dernier message: 24/10/2009, 23h55
  2. probleme avec les frames en php
    Par lekonquerant dans le forum Langage
    Réponses: 6
    Dernier message: 14/09/2009, 15h00
  3. probleme avec l'upload en php
    Par jerem721 dans le forum Langage
    Réponses: 4
    Dernier message: 20/07/2008, 11h19
  4. un petit probleme avec la fonction include php
    Par Ricus28 dans le forum Langage
    Réponses: 7
    Dernier message: 20/08/2006, 14h27
  5. Probleme avec un script javascript->php
    Par leluis dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 23/03/2006, 15h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo