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

PHP & Base de données Discussion :

passage de parametres [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 67
    Par défaut passage de parametres
    Bonsoir tout le monde.
    Je viens vers vous car j'ai un soucis avec un passage de paramètres que je ne comprends pas !

    voila :
    toout d'abord j'ai une page index.php qui affiche une série de vignettes et lorsque je clique sur l'une d'elle j'arrive sur une page
    photos.php qui m'affiche ces mêmes vignettes, on va dire pour que ça soit explicite en guise menu haut et une image centrale qui correspond à l'image que j'ai cliqué sur ma première (index.php).

    voici le code des deux pages :

    index.php
    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
    41
    42
    43
    44
    45
    <!doctype html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Accueil</title>
    <link href="galerie/css/style.css" rel="stylesheet" type="text/css">
    </head>
    <?php
    //inclusion au fichier contenant la connexion de base
    include_once('galerie/includes/connect.inc.php');
    ?>
    <body>
    <section id="content">
    <p>
    <a href="index.php"><img src="galerie/img/home_grand.jpg"></a></p><p></p>
    <ul>
    <?php
    //la requete
    $requete="select * from photos ORDER BY ordre ASC";
    $sth=$dbh->query($requete);
    $result = $sth->fetchAll(PDO::FETCH_ASSOC);
    foreach($result as $row){
    /*	echo $row['id_photos'];echo '-';
    	echo $row['titre'];echo '-';
    	echo $row['ordre'];echo '-';
    */
    $idphoto=$row['id_photos'];
    $fichier=$row['fichier'];
    echo '
    <li class="img">
    <a href="photos.php?id='.$idphoto.'&fichier='.$fichier.'"><img src="galerie/vignettes/'.$fichier.'"></a>
    </li>';
    }
    ?>
    </ul>
    <div class="stop float"></div>
    </section>
     
    <?php
    //echo $row['id_photos'];echo '-';
    //fermeture de la connexion
    $dbh = NULL;
    ?>
    </body>
    </html>
    photos.php
    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
    41
    42
    43
    44
    45
    46
    47
    <?php
    require_once('galerie/includes/connect.inc.php');
     
    $idphoto= isset ($_GET['id']) ? mysql_real_escape_string ($_GET['id']) : '';
    $fichier= isset ($_GET['fichier']) ? mysql_real_escape_string ($_GET['fichier']) : '';
    ?><!doctype html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Document sans nom</title>
    <link href="galerie/css/style.css" rel="stylesheet" type="text/css">
     
    </head>
     
    <body>
     
    <nav id="menuhaut">
    <ul>
    <li class="menuhaut"><a href="index.php"><img src="galerie/img/home_grand.jpg"></a></li>
    <?php
    $sql2="select * from photos ORDER BY ordre ASC";
    $sth=$dbh->query($sql2);
    $result2 = $sth->fetchAll(PDO::FETCH_ASSOC);
    foreach($result2 as $row2){
     
    $idphotomin=$row2['id_photos'];
    $fichiermin=$row2['fichier'];
    echo '
    <li class="menuhaut">
    <a href="#?idphoto='.$idphotomin.'"><img src="galerie/vignettes/'.$fichiermin.'"></a>
    </li>';
    }
    ?>
     
    </ul>
    </nav>
     
     
    <div>
    <?php
    if (isset($idphoto)){
    echo '<img id="coucou" src="galerie/photos/'.$fichier.'" >';
    }
    ?> 
    </div>
    </body>
    </html>
    alors voila, pour passer de index.php à photos.php je récupère deux paramètres que j'utilise pour afficher l'image centrale.
    pour faire mon menu de vignette sur la page photos.php j'ai ré-écris la même requête que sur index.php en modifiant le nom des variables.
    lorsque je passe le curseur sur l'une des vignettes du menu de vignettes bizarrement je récupère les même information que ceux de la page index.php.

    Avez vous une idée de ce qui peut causer ce problème ?

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    j'ai ré-écris la même requête que sur index.php en modifiant le nom des variables.
    Donc tu te retrouves dans un cas a envoyer "id" et dans l'autre a envoyer "idphoto".
    Pourquoi faire deux pages quasi-identiques ? Ta page photo.php suffit seule.

    Au passage ton test
    ne sert a rien puisque $idphoto est toujours défini (c'est toi même qui initialise la variable au début du code).
    Tu peux vérifier par contre si le fichier existe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (is_file($_SERVER['DOCUMENT_ROOT'] . '/galerie/photos/' . $fichier)){
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 67
    Par défaut
    bonjour sabotage et merci de ta réponse.

    Citation:
    j'ai ré-écris la même requête que sur index.php en modifiant le nom des variables.
    Donc tu te retrouves dans un cas a envoyer "id" et dans l'autre a envoyer "idphoto".
    Pourquoi faire deux pages quasi-identiques ? Ta page photo.php suffit seule.
    pour la petite histoire c'est tiré d'un exercice ( pour pas trop perdre la main car je n'ai pas trop l'occasion de coder.)
    dans l'exercice il s'agit d'afficher des vignettes sur une page index (les éléments de ces vignettes sont stockées dans la BDD et les vignettes dans un répertoire.) en cliquant sur une vignette on arrive sur une page photos.php qui affiche l'image de la vignette sélectionnée en grand. Au dessus de cette image, il y a la liste des vignettes qui doivent permettre, au click, d'afficher les images sélectionnées.

    le test :
    renvoie vers le paramètre que je récupère de la page index ( je sais que j'ai déjà fait un isset au début de la page ).

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Le problème n'est pas que tu aies déjà fais un isset(), le problème est que ton test sera forcement toujours bon.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 67
    Par défaut
    oui j'avais pas compris ça comme ça !!!

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 67
    Par défaut
    j'ai fait ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <?php
     
    if (is_file($_SERVER['DOCUMENT_ROOT'] . '/galerie/photos/' . $fichier)){
    	echo '<img id="coucou" src="galerie/photos/'.$fichier.'" >';
    }
    ?>
    l'image ne s'affiche pas !
    lorsque je fait un echo de $_SERVER['DOCUMENT_ROOT']/galerie/photos/'
    j’obtiens ce résultat :
    /Applications/MAMP/htdocs/projets/galerie/photos/pict5717.jpg
    qui est bien l'endroit ou est stocké mon image !
    alors pourquoi ne puis-je l'afficher

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

Discussions similaires

  1. DOS passage de parametre à un .bat
    Par malbaladejo dans le forum Scripts/Batch
    Réponses: 5
    Dernier message: 26/11/2014, 15h44
  2. [langage] Passage de parametre lors de l execution
    Par WetzlarMan dans le forum Langage
    Réponses: 4
    Dernier message: 16/03/2004, 13h28
  3. Probleme de passage de parametre a un TQuery
    Par gve21 dans le forum C++Builder
    Réponses: 7
    Dernier message: 15/01/2004, 15h49
  4. Passage de parametre calculé
    Par soazig dans le forum MS SQL Server
    Réponses: 12
    Dernier message: 06/06/2003, 16h25
  5. Passage de parametre a une anim Flash 5
    Par debug dans le forum Intégration
    Réponses: 4
    Dernier message: 03/06/2002, 17h59

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