Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Galeria PHP, Kod działa offline, ale nie działa online
simon111
post
Post #1





Grupa: Zarejestrowani
Postów: 60
Pomógł: 0
Dołączył: 11.10.2006

Ostrzeżenie: (0%)
-----


Witam

Zrobiłem sobie galerię internetową (nie ukrywam, że na podstawie jakiegoś tam skryptu). Otóż offline, gdy testuje stronkę na swoim kompie wszystko elegancko chodzi, natomiast po wrzuceniu na stronkę nie działają mi przyciski "dalej" i "wstecz", czy ktoś mógłby rzucić okiem co jest nie tak na poniższy kod. Bardzo proszę o pomoc w tej sprawie i z góry dziękuję za wszelkie sugestie.

  1. <?php
  2.  
  3. $pic_info_file="/naw_galer/pics1.txt";
  4.  
  5.  
  6.  
  7.  
  8. print "<CENTER>";
  9.  
  10.  
  11.  
  12.  if ( !file_exists($pic_info_file))
  13.  {
  14.        $dh = opendir( "galeria/absolut" );
  15.        while( $file = readdir( $dh ) )
  16.        {
  17.                if (    ereg("jpg$",$file) || ereg("JPG$",$file) ||
  18.                        ereg("jpeg$",$file) || ereg("JPEG$",$file) ||
  19.                        ereg("Jpg$",$file) || ereg("Jpeg$",$file) )
  20.                {
  21.                        $pic_info[] = $file;
  22.                }
  23.        }
  24.  }
  25.  else $pic_info=file("/naw_galer/pics.txt");
  26.  
  27.  
  28.  $number_of_pics = count ($pic_info);
  29.  if (($picture > $number_of_pics) || ($picture == $number_of_pics) || !$picture)
  30.    $picture = '0';
  31.  $item = explode (";", $pic_info[$picture]);
  32.  
  33.  
  34.  print "<b>$item[1]</b>";
  35.  
  36.  
  37.  $next = $picture + 1;
  38.  if ($picture > 0 ) $back = $picture - 1;
  39.  else $picture = '0';
  40.  
  41.  
  42.  print "<a href=$PHP_SELF?picture=$back><u>Wstecz</u></a>";
  43.  print "          ";
  44.  print "<a href=$PHP_SELF?picture=$next><u>Dalej</u></a><br>";
  45.  
  46.  
  47.  print "<br><img src='galeria/absolut/$item[0]' border='3' width='610px' height='410px'><br> <br>";
  48.  
  49.  
  50.  
  51. print "</CENTER></BODY></HTML>";
  52. ?>


Ten post edytował simon111 11.03.2009, 20:46:12
Go to the top of the page
+Quote Post
erix
post
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
wszystko elegancko chodzi, natomiast po wrzuceniu na stronkę nie działają mi przyciski "dalej" i "wstecz",

  1. <?php
  2. print "<a href=$PHP_SELF?picture=$back><u>Wstecz</u></a>";
  3. ?>

$PHP_SELF już się nie powinno używać.

PS. Dodaj tag do tematu.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
Lion_87
post
Post #3





Grupa: Zarejestrowani
Postów: 850
Pomógł: 120
Dołączył: 15.02.2007
Skąd: Łódź

Ostrzeżenie: (10%)
X----


Chyba równie dobrze mógłbyś dać link bez $PHP_SELF
  1. <a href="?picture=$back">
i chyba byłby ten sam efekt...

Ten post edytował Lion_87 11.03.2009, 22:46:16
Go to the top of the page
+Quote Post
simon111
post
Post #4





Grupa: Zarejestrowani
Postów: 60
Pomógł: 0
Dołączył: 11.10.2006

Ostrzeżenie: (0%)
-----


Witajce

Usunąłem całkowicie $PHP_SELF - nic to nie dało, wpisałem mu też na sztywno nazwę pliku galerii (czyli galeria2.php):

  1. <?php
  2. print "<a href=galeria2.php?picture=$back><u>Wstecz</u></a>";
  3. ?>


a także przypisałem zmiennej $PHP_SELF="galeria2.php" i dalej nic :/

Co wy na to? Podam wam stronkę na której to jest zamieszczone, a sami zobaczycie działanie:
http://www.mechanika.ip.pwsz.edu.pl/log/galeria2.php

PS. Najdziwniejsze, że offline wszystko chodzi, a na serwerze nic nie chce...
Go to the top of the page
+Quote Post
wookieb
post
Post #5





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




A pobierasz gdzieś z tablicy $_GET numer zdjecia? Nie.


--------------------
Go to the top of the page
+Quote Post
simon111
post
Post #6





Grupa: Zarejestrowani
Postów: 60
Pomógł: 0
Dołączył: 11.10.2006

Ostrzeżenie: (0%)
-----


Czy mógłbyś mi napisać jak mam pobrać wartość z tablicy $item funkcją GET?
Spróbuję wówczas w ten sposób to zapisać na stronie.
Go to the top of the page
+Quote Post
wookieb
post
Post #7





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




$_GET to nie funkcja. Tylko tablica.
Przejrzyj ja http://php.net/print_r
http://pl.php.net/manual/pl/language.varia...uperglobals.php


--------------------
Go to the top of the page
+Quote Post
simon111
post
Post #8





Grupa: Zarejestrowani
Postów: 60
Pomógł: 0
Dołączył: 11.10.2006

Ostrzeżenie: (0%)
-----


Przejrzałem linki które podałeś "wookieb", ale niejak mogłem to odnieść do mojego przykładu jedyne co mi przyszło do głowy to coś takiego:

  1. <?php
  2. ...
  3. $_GET = explode (";", $pic_info[$picture]);
  4. ...
  5. ...
  6. ...
  7.  
  8. print "<br><img src='galeria/absolut/$_GET[0]' border='3' width='610px' height='410px'><br>&nbsp;<br>";
  9. ...
  10. ...
  11. ...
  12. ?>


reszta taka sama. Ale działa mi tak samo - offline chodzi, a na serwerze nie chce :/. Czy dobrze sformułowałem powyższy kod?
Go to the top of the page
+Quote Post
Hazel
post
Post #9





Grupa: Zarejestrowani
Postów: 492
Pomógł: 33
Dołączył: 16.08.2007
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Sformułowałeś go dość niefortunnie, próbując do tablicy superglobalnej przypisać jakąś tablicę, ale załóżmy że to będzie działać.

Lepiej byłoby nazwać tę zmienną nie $_GET, a jakkolwiek inaczej. $_GET jest praktycznie zarezerwowane dla zmiennych szczególnego typu. Twój kod zadziała, ale nie ma sensu tak pisać, nazwij zmienną inaczej. Poza tym jest ok, ale nie rozumiem, do czego Twój kod ma służyć. Podobnie jak nie rozumiem, co to znaczy `nie działają przyciski dalej i wstecz`. Uściślij to jakoś, napisz co takiego się dzieje.


--------------------
Go to the top of the page
+Quote Post
wookieb
post
Post #10





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Jezu...
Kod
$picture=$_GET['picture'];


--------------------
Go to the top of the page
+Quote Post
simon111
post
Post #11





Grupa: Zarejestrowani
Postów: 60
Pomógł: 0
Dołączył: 11.10.2006

Ostrzeżenie: (0%)
-----


Dziękuję bardzo "wookieb" twój post bardzo mi pomógł.
Wkońcu galeria działa tak jak mi chodziło, zrobiłem to wprawdzie dość niezgrabnie (mam na myśli postać skryptu) i na pewno dałoby się to jeszcze zoptymalizować, no ale w końcu cel uświęca środki. Ostatecznie mój skrypt wygląda tak:

  1. <?php
  2.  
  3. $pic_info_file="/naw_galer/pics1.txt";
  4.  
  5.  
  6.  
  7. print "<CENTER>";
  8.  
  9.  
  10.  
  11.  if ( !file_exists($pic_info_file))
  12.  {
  13.        $dh = opendir( "galeria/absolut" );
  14.        while( $file = readdir( $dh ) )
  15.        {
  16.                if (    ereg("jpg$",$file) || ereg("JPG$",$file) ||
  17.                        ereg("jpeg$",$file) || ereg("JPEG$",$file) ||
  18.                        ereg("Jpg$",$file) || ereg("Jpeg$",$file) )
  19.                {
  20.                        $pic_info[] = $file;
  21.                }
  22.        }
  23.  }
  24.  else $pic_info=file("/naw_galer/pics.txt");
  25.  
  26.  
  27.  $number_of_pics = count ($pic_info);
  28.  if (($picture > $number_of_pics) || ($picture == $number_of_pics) || !$picture)
  29.    $picture = '0';
  30.  $item = explode (";", $pic_info[$picture]);
  31.  
  32.  
  33. $picture=$_GET['picture'];
  34.  
  35.  
  36.  $next = $picture + 1;
  37.  if ($picture > 0 ) $back = $picture - 1;
  38.  else $picture = '0';
  39.  
  40.  
  41.  
  42.  
  43. $results=$picture.'.jpg';
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  print "<a href=?picture=$back><u>Wstecz</u></a>";
  50.  print "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ";
  51.  print "<a href=?picture=$next><u>Dalej</u></a><br>";
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  print "<br><img src='galeria/absolut/$results' border='3' width='610px' height='410px'><br>&nbsp;<br>";
  58.  
  59.  
  60.  
  61.  
  62.  
  63. print "</CENTER></BODY></HTML>";
  64. ?>
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 18:07