Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów
Problem z prostą galerią - Wersja do druku

+- Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów (https://www.webmastertalk.pl)
+-- Dział: Technologie internetowe - tworzenie stron WWW (https://www.webmastertalk.pl/forum-technologie-internetowe-tworzenie-stron-www)
+--- Dział: Programowanie, Bazy danych (https://www.webmastertalk.pl/forum-programowanie-bazy-danych)
+--- Wątek: Problem z prostą galerią (/thread-problem-z-prosta-galeria)



Problem z prostą galerią - zoom24 - 07-08-2010

Witam.

Mam mały problem z poprawnym wyświetleniem galerii zdjęć.
Mianowicie mam zrobione dwa pliki, pierwszy index.php i drugi galeria.php.

W pierwszym pliku mam odnośniki do którego folderu ze zdjęciami się będę odnosił

Kod PHP:
<ul>
  <
li><a href="galeria.php?co=ludzie">Ludzie</a></li>
  <
li><a href="galeria.php?co=salka">Salka</a></li>
</
ul

zaś w drugim wyświetlam galerię dla określonego folderu ze zdjęciami
Kod PHP:
$co $_GET["co"];      // odbieram przez get - ten sposób nie działa

      // $co = 'salka'  jeżeli zakoduje z góry folder to wszystko ziała
      
$katalog opendir("zdjecia/$co");

      
$i=1;
      while (
$plik readdir ($katalog)) {
        if (
ereg (".gif$|.jpg$"$plik)) { $zdjecia[$i++] = $plik; }
      }
      
closedir ($katalog);

      if (isSet(
$_GET['nr']) && ($_GET['nr']>0) && ($_GET['nr']<=count($zdjecia))) {
            echo 
$cos1;
        print 
"<p style='text-align:center;'>";
        if (
$_GET['nr']>1) {
          print 
'<a href="galeria.php?nr='.($_GET['nr']-1);
          print 
'">Poprzednie</a>&nbsp;&nbsp;&nbsp;';
        }
        print 
'<a href="inde.php">Galeria</a>&nbsp;&nbsp;&nbsp;';
        if (
$_GET['nr']<count($zdjecia)) {
          print 
'<a href="galeria.php?nr='.($_GET['nr']+1).'">Następny</a>';
        }
        print 
"</p><p style='text-align:center;'>";

        
$nazwapliku "zdjecia/"."$co"."/duze/".$zdjecia[$_GET['nr']];


        if (
file_exists($nazwapliku)) {
          
$rozmiar getimagesize($nazwapliku);
          print 
"<img src='".$nazwapliku."' ".$rozmiar[3];
          print 
"alt='$nazwapliku' /></p>";
        } else {
          print 
"Brak dużego zdjęcia</p>";
        }
}
      elseif (
count($zdjecia)>0) {    // jest przynajmniej jedno zdjęcie
        
print "<h2>Galeria zdjęć</h2><p style='text-align:center;'>";
        for (
$i=1$i<=count($zdjecia); $i++) {
          
$nazwapliku "zdjecia/"."$co"."/".$zdjecia[$i];
          
$rozmiar getimagesize($nazwapliku);
          print 
"<a href=\"galeria.php?nr=$i\">";
          print 
"<img src=\"$nazwapliku\" ".$rozmiar[3];
          print 
"alt='$nazwapliku' style='border:0px; margin:10px;'";
          print 
" /></a>";
        }
        print 
"</p>";
      } else {                          
// w katalogu nie ma zdjęć
        
print "Katalog jest pusty!";
}
    
?>
</body>
</html> 

Nie wiem dlaczego jeśli przekazuję zmienną w GET to mi skrypt nie działa, tzn nie wyświetla powiększonych zdjęć gdy kliknę w miniaturkę, zaś jeżeli w pliku galeria.php z góry określę że ma to być folder np. salka wszystko działa

Dzięki za sugestie i propozycje rozwiązania problemu

Problem rozwiązany Smile Jeżeli komuś się przyda to podaje jedno z rozwiązań
dwa pliki pierwszy index.php
Kod PHP:
<ul>
  <
li><a href="galeria.php?co=ludzie">Ludzie</a></li>
  <
li><a href="galeria.php?co=salka">Salka</a></li>
</
ul

drugi galeria.php -> kod
Kod PHP:
<?php
session_start
();

$co $_GET['co'];

      
$conn = @new mysqli('localhost','root','haslo','galeria');

      
$sql "SELECT * FROM kategorie WHERE nazwa_kat ='$co'";
      
$result $conn->query($sql);
      while(
$row $result->fetch_assoc())
      {
          
$_SESSION["co"]=$row["nazwa_kat"];
      }


      
$co $_SESSION["co"];

      
$katalog opendir("zdjecia/$co");

      
$i=1;
      while (
$plik readdir ($katalog)) {
        if (
ereg (".gif$|.jpg$"$plik)) { $zdjecia[$i++] = $plik; }
      }
      
closedir ($katalog);

      if (isSet(
$_GET['nr']) && ($_GET['nr']>0) && ($_GET['nr']<=count($zdjecia))) {

        print 
"<p style='text-align:center;'>";
        if (
$_GET['nr']>1) {
          print 
'<a href="galeria.php?nr='.($_GET['nr']-1);
          print 
'">Poprzednie</a>&nbsp;&nbsp;&nbsp;';
        }
        print 
'<a href="inde.php">Galeria</a>&nbsp;&nbsp;&nbsp;';
        if (
$_GET['nr']<count($zdjecia)) {
          print 
'<a href="galeria.php?nr='.($_GET['nr']+1).'">Następny</a>';
        }
        print 
"</p><p style='text-align:center;'>";

        
$nazwapliku "zdjecia/"."$co"."/duze/".$zdjecia[$_GET['nr']];


        if (
file_exists($nazwapliku)) {
          
$rozmiar getimagesize($nazwapliku);
          print 
"<img src='".$nazwapliku."' ".$rozmiar[3];
          print 
"alt='$nazwapliku' /></p>";
        } else {
          print 
"Brak dużego zdjęcia</p>";
        }
}
      elseif (
count($zdjecia)>0) {    // jest przynajmniej jedno zdjęcie
        
print "<h2>Galeria zdjęć</h2><p style='text-align:center;'>";
        for (
$i=1$i<=count($zdjecia); $i++) {
          
$nazwapliku "zdjecia/"."$co"."/".$zdjecia[$i];
          
$rozmiar getimagesize($nazwapliku);
          print 
"<a href=\"galeria.php?nr=$i\">";
          print 
"<img src=\"$nazwapliku\" ".$rozmiar[3];
          print 
"alt='$nazwapliku' style='border:0px; margin:10px;'";
          print 
" /></a>";
        }
        print 
"</p>";
      } else {                          
// w katalogu nie ma zdjęć
        
print "Katalog jest pusty!";
}
    
?>

</body>
</html> 

wspomogłem się bazą danych oraz sesjami. Skrypt wyglada tak że mam katalog ze zdjeciami o nazwie zdjecia a w tym folderze podkatalogi o nazwie galerii w ktorej znajduja sie miniarurki oraz duże obrazy

pozdrawiam