Visualizzazione dei risultati da 1 a 3 su 3

Discussione: problema include...

  1. #1

    problema include...

    ciao a tutti
    sono abbastanza digiuno di php (non completamente ma quasi...)
    sto rifacendo il mio sito e volevo farlo comodo da aggiornare quindi lo stavo strutturando così:

    un index nel quale viene richiamato in un primo div il file menu.html e in un secondo div il file che via via si vuole a seconda del link del menu cliccato... per fare questo ho usato il codice suggerito in questa discussione
    fin qui pochi problemi finchè si tratta di chiama nel div principale file html tutto ok...
    solo che io volevo creare una galleria di immagini usando una semplicissima galleria che avevo già usato per un altro sito... e qui sono iniziate le rogne...
    il codice originario era questo:
    Codice PHP:
    <?
    $imagedir 
    "images"//The image folder
    $thumbdir "thumbs"//The thumbnail folder
    $columns 4//How many images displayed per line

    include "header.php";

    ?>
        <div id="divTest">
            <div id="foto">
              <? if ($show != ""//show the current image if any
                
    {
                    print 
    "<img src=images/$show>";
                } 
            
    ?>
            </div>
           <div id="thubs">
                  <?php 
                    $i
    =0;
                    
    $handle=opendir($imagedir); 
                    while (
    false!==($file readdir($handle))) { 
                        if (
    $file != "." && $file != "..") { 
                          print 
    "[url="gallery.php?show=$file><img"][/url]";
                          ++
    $i;
                          if(
    $i == $columns) { print "
    "

                          
    $i 0;
                          }
                        } 
                    }
                    
    closedir($handle); 
                    
    ?>
                </div>
    questa galleria richiede che il file gallery.php sia nella stessa cartella delle cartelle images e thumb

    nel mio caso però richiamo questo file nel index.php e quindi i link non funzionano più... ho provato a rischirvere il codice per far si che funzionasse lo stesso, ma mi carica correttamente le icone mentre quando clicco per aprire la foto grande da errore...
    questo è il codice dell'index.php
    Codice PHP:
    <body>
    <div id="container">
        
        <div id="header">
            <? include("menu.html"); ?>    
        </div>
        
        <?php
            $pagine 
    = array(1=>'pagina1.php','pagina2.php','pagina3.php','pagina4.php','wedding/01/gallery.php');
            if (isset(
    $_GET['link']) && in_array($_GET['link'],array_keys($pagine))) 
            {
                echo 
    '<div id="content">';
                include(
    $pagine[$_GET['link']]);
                echo 
    '</div>';
            }
            else 
            {
                echo 
    '<div id="content">';
                
                echo 
    '</div>';
            } 
        
    ?>
    </div>

    </body>
    e questo è quello della galleria contenuta in wedding/01/gallery.php (la pagina associata al link5)
    Codice PHP:
    <?
    $galerydir 
    "wedding/01"//The gallery folder
    $imagedir "$galerydir/images"//The image folder
    $thumbdir "$galerydir/thumbs"//The thumbnail folder
    $columns 20//How many images displayed per line
    ?>

        <div id="content">
               <div id="foto">
                <? if ($show != ""//show the current image if any
                    
    {
                    print 
    "<img src=images/$show>";
                    }
                
    ?>
            </div>
            <div id="thubs">
                  <?php 
                    $i
    =0;
                    
    $handle=opendir($imagedir); 
                    while (
    false!==($file readdir($handle))) { 
                        if (
    $file != "." && $file != "..") { 
                          print 
    "[url="index2.php?link=5?show=$file><img"][/url]";
                          ++
    $i;
                          if(
    $i == $columns) { print "
    "

                          
    $i 0;
                          }
                        } 
                    }
                    
    closedir($handle); 
                    
    ?>
    il problema penso che sia tutto qui:
    Codice PHP:
     print "<a href=index2.php?link=5?show=$file
    perchè se non metto ?link=5 non apre nulla perchè chiama una cosa che non esiste perchè nell'index.php non viene più chiamato gallery.php che è appunto ?link=5 ma se aggiungo questa riga mi da errore "Failed opening '' for inclusion (include_path='.:/php/lib/php/') in .../index2.php on line 21" che si riferisce appunto a dove nell'index.php viene chiato il gallery.php

    mi sa che ho fatto un gran casino, spero che abbiate capito lo stesso e grazie dell'aiuto
    ciao
    daniele

  2. #2
    nessuno ha qualche suggerimento???
    non so proprio che pesci prendere...
    mi sa che va a finire che se non risolvo lascio perdere il php...

    ciao e grazie
    daniele

  3. #3
    ho risolto il primo problema:
    l'errore era effettivamente qui:
    Codice PHP:
    print "<a href=index2.php?link=5?show=$file
    dopo il 5 c'era il punto di domanda invece che &... distrazione... ora ho scritto
    Codice PHP:
    print "<a href=index2.php?link=5&show=$file
    e tutto funziona bene

    mi restano però due domande:
    1) come posso fare in modo che la variabile link (in questo caso uguale a 5) sia passata a questo comando del gallery.php in modo da avere un unico codice per tutti i file gallery delle diverse gallerie che prendono la variabile link in automatico in base a quella impostata con il click sul menu principale... non penso sia difficile, ma non so proprio che codice scrivere...
    2) come fare a far si che la galleria mi mostri subito la prima immagine appena la apro? ora se accedo alla galleria mi mostra le icone e basta e solo dopo il click mostra la prima foto
    io vorrei invece che facesse una cosa del tipo "se non è stato cliccato mostra la 01.jpg altrimenti mostra il file relativo al click fatto..."
    il codice della galleria è questo che segue e viene richiamtato nell'index.php nell'apposito div
    Codice PHP:
    <div id="foto">
        <? if ($show != ""//show the current image if any
            
    {
            print 
    "<img src=$imagedir/$show>";
            }
        
    ?>
    </div>

    <div id="thumbs">
          <?php 
            $i
    =0;
            
    $handle=opendir($imagedir); 
            while (
    false!==($file readdir($handle))) { 
                if (
    $file != "." && $file != "..") { 
                  print 
    "[url="index2.php?link=5&show=$file><img"][/url]";
                  ++
    $i;
                  if(
    $i == $columns) { print "
    "

                  
    $i 0;
                  }
                } 
            }
            
    closedir($handle); 
            
    ?>
    </div>
    credo che anche questo sia semplice, ma non riesco a capire come aggiungere il pezzo che mi interessa

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.