Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][JS] Błąd z pliku PHP w pliku JS
Forum PHP.pl > Forum > PHP
TKu
Witam, mam pewien prbolem z plikiem JS w którym jest napisałem funkcję skalującą obrazy na stronie do określonych wrozmiarów,
w PHP napisałem galerięzdjęć, na któej stronie głónej nad tytułem konkretnej galerii ejst obrazek któy jest ładnie skalowany przez funkcję w JS,
problem polega na tym że gdy wejdę do konkretnej galerii orbazki z niej nei są skalowane a w pliku JS wyświetlany jest komunikat z błędem z pliku PHP gdzie nie widze żadnej opcji żeby w pliku JS wyskakiwał error skoro nie ma w nim nic napisanego w PHP.

Funkcje wyświetlająca glerię oraz zdjęcia są prawie takie same poza zawartością i nie wiem cz czym problem, czasem w pliku JS pokazuje się kod HTML strony.

PROBLEM występuje tylko po wejściu do konkretnej galerii.

Strona jest wykonana według wzorca MVC.

Fragment kodu odpowiadający za podgląd konkretnej galerii.
  1. public function showAction(Application_UrlParser $parser) {
  2. if($parser->getParam('id')) {
  3. $tplGallery = new Templates_Gallery();
  4. $mdlGallery = new Models_Gallery();
  5. $tplGallery->setTitleTag('Galeria');
  6. $tplGallery->setMetaTagScript('image.js');
  7. if($title_gallery = $mdlGallery->select_title_gallery($parser->getParam('id'))) {
  8. if($photo_list = $mdlGallery->select_photo_list($parser->getParam('id'))) {
  9. foreach($photo_list as $key => $val) $tplGallery->photo_mini($val);
  10. } else $tplGallery->infoContainer('Galeria nie istnieje.');
  11. } else $tplGallery->infoContainer('Galeria nie istnieje.');
  12. } else $tplGallery->infoContainer('Nie wybrano galerii.');
  13. $tplGallery->view();
  14. }

plik image.js skalujący obrazki
  1. var width;
  2. var height;
  3. var width_max = 200;
  4. var height_max = 200;
  5.  
  6. function image_resize(img) {
  7. width = img.width;
  8. height = img.height;
  9. if(width > width_max) {
  10. if(height > height_max) {
  11. height = height_max;
  12. width = Math.floor(height_max / (img.height / img.width));
  13. } else {
  14. width = width_max;
  15. height = Math.floor(width_max / (img.width / img.height));
  16. }
  17. } else if(height > height_max) {
  18. height = height_max;
  19. width = Math.floor(height_max / (img.height / img.width));
  20. }
  21. img.width = width;
  22. img.height = height;
  23. }
IProSoft
Podaj kod błędu, który pokazuje.
TKu
Odpalam konkretną galerię, wchodze w podgląd źródła i dalej w plik image.js i po załadowaniu pliku zamiast kodu w JS ukazuje się taki oto komunikat.
  1. <br />
  2. <b>Fatal error</b>: Call to a member function infoContainer() on a non-object in <b>adres/adres/adres/gallery.php</b> on line <b>73</b><br />

Co odpowiada w 12 linijce w wzej podanzm kawaku kodu PHP.
Na podstwonie ze wszystkimi galeriami skalowanie jest takie samo i działa a po wejsciu nie.
Treśc błędu wiem co oznacza ale nie widze żadnego błędu w kodzie, nie wiem o co kaman. :/
melkorm
  1. } else $tplGallery->infoContainer('Nie wybrano galerii.');
  2.  
  3. $tplGallery->view();


W ostatnim else Twój obiekt nie jest utworzony, błąd mówi wszystko - zaś na końcu może nie być utworzony jeżeli nie wejdzie do 1 warunku - polecam jakiś lepszy edytor który wyłapie takie sprawy smile.gif.
TKu
O FAK racja biggrin.gif jak mogłem tego nie zauważyć biggrin.gif AZ MI WSTYD biggrin.gif
Dzięki za pomoc biggrin.gif

Poprawiłem ale jest kolejny problem :/ teraz w pliku image.js pokazuje się kod HTML strony w któym jest wyświetlona treść "komuikatu" z linijki w której był wcześniej error.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.