Błąd php require line 279


(Kuri) #1

Cześć.

Moj poprzedni temat został usunięty - źle opisany temat. Niestety nie jestem w stanie napisać konkretnie w czym jest problem bo nie mam zielonego pojęcia na ten temat.

Tak jakby niewidomy miał opisać obraz.

problem-oscommerce-t507226.html

Mam nadzieję, że ten temat nie zostanie usunięty, ewentualnie poradzicie jak lepiej okreslić problem w temacie.

Mam bardzo prymitywny sklep online działajacy na oscommerce. W większosci wszystko działa ok, ale niektorzym klientom strona nie wczytuje się, wywalając następujący błąd:

Sprawdzalem na kilku komputerach i problem nie wystapil, nie wiem od czego to zalezy.

Kolega GediMaster zwrócił uwage, że:

Zlokalizowałem u siebie w/w linijki jedna nie wiem jak je poprawnie zmodyfikowac.

Dzięki


(Pablo_Wawa) #2

Tak na szybko to mogę Ci podać rozwiązanie (obejście) tego problemu.

Po linii, gdzie jest

$language = $lng->language['directory'];

musisz wstawić nową linię z poniższym kodem

if (!$language) $language='polish';

Na czym polega problem? Na braku inicjalizacji zmiennej $language , kodu skryptu nie znam, więc nie jestem w stanie podać szczegółów ani znaleźć właściwego miejsca z błędem, ale być może wartość języka jest pobierana z nagłówka przeglądarki używanej przez klienta, a ta nie wysyła takiej wartości i kod

$language = $lng->language['directory'];

nie działa, przez co zmienna $language jest pusta. Dla ścisłości warto byłoby też sprawdzić i zainicjować zmienną $language_id jak jest pusta, ale nie wiem jaką wartość należy podać dla języka polskiego. Musiałbyś po linii

$languages_id = $lng->language['id'];

dodać w nowej linijce

echo "languages_id=$languages_id
";

i sprawdzając u siebie dowiesz się, jaką wartość wypisze skrypt (gdzieś na stronie). Potem tę wstawkę oczywiście usuń i możesz ją zastąpić

if (!isset($language_id)) $language_id=48;

oczywiście zamiast wartości 48 podasz poprawną wartość odczytaną wcześniej.

A co do tworzenia wątku, to moderatorowi chodziło zapewne o właściwy jego temat (pytanie), bo przecież dzięki niemu osoby znające się na rzeczy mogą do niego zajrzeć i dać Ci konkretną (pomocną) radę.


(Kuri) #3

super, dzieki za poswiecony czas.

Wprowadzilem zmiany, zobaczymy czy problem zniknie.

Pozdrawiam

Edit.

Jeszcze jedna sprawa, wchodząc na sklep (nie wiem czy moge tutaj podac link, żeby nie bylo reklamy?) przez Firefoxa, Chrome wszystko chodzi cacy, wchodząć

przez IE zawartość strony jest pusta tzn wyswietla się tak jakby żaden towar nie został dodany do sprzedaży...


(Pablo_Wawa) #4

Czy ten problem jest związany z tym co opisałeś na początku, tzn. pojawił się po tych zmianach w kodzie?

Jeśli nie, to czy strona jest cała pusta, czy tylko w jej części nie ma danych?

Jeśli cała jest pusta, to problemem może być włączona kompresja HTML po stronie serwera (PHP) - w każdym razie IE kiedyś też tak miał u mnie.

Popatrz też tutaj: http://php.net/manual/de/function.ob-gzhandler.php#79711 - może pomoże?


(Kuri) #5

Cześć.

Przed wprowadzeniem zaproponowanej przez Ciebie zmiany strona w IE nie działa w ogole, wyskakiwal błąd o ktorym pisałem w pierwszym poście.

Teraz strona działa ale w niewłaściwy sposób, zobrazują to poniższe screeny:

poprawne działanie strony pod Chrome:

niepoprawne działanie pod IE

nie można w żaden sposob rozwinać menu, tak jakby żaden towar nie został wystawiony.


(Pablo_Wawa) #6

Pozwoliłem sobie wejść na tę stronę www i sprawdzić jak to się u mnie wyświetla.

Zarówno w Firefox 16.0.2 jak i Internet Explorer 8.0 (Win XP) strona działa poprawnie.

Może u Ciebie (lub znajomego) w IE są jakieś dziwne ustawienia? U ilu osób w IE ta strona nie działa poprawnie?

EDIT: na innym komputerze, z Win 7 (64-bit) i IE 9.0 twoja strona się właśnie źle wyświetla. Podejrzewam zatem jakieś niedoróbki (błędy logiczne) w kodzie oprogramowania osCommerce. Zgłoś problem do producenta - jemu łatwiej będzie znaleźć błąd w kodzie (PHP).

Zrobiłem testy przy pomocy programu http://www.my-debugbar.com/wiki/IETester/HomePage na komputerze z Windows 7 (64-bit) i strona Twojego sklepu otwiera się poprawnie w IE 8 (a także w IE 6 i 7), a źle w IE 9 (na tym samym komputerze). Zatem na 100% jest to błąd w oprogramowaniu, być może związany ze skryptami JavaScript, które są stare i używają jakichś dyrektyw warunkowych (http://funkcje.net/view/5/5668/index.html) - to tylko moje podejrzenie, wcale to nie musi być ten powód (ale może w kodzie PHP są jakieś warunki związane z IE i nie biorą pod uwagę istnienia nowszej wersji IE 9?).

Błąd z wyświetlaniem strony sklepu zapewne ujawnia się także w IE 10 preview.


(Kuri) #7

dzięki wielkie za tak dogłębne zbadanie tematu,

sprobuję napisać do producenta oScommerce, jednak nie spodziewam się cudów, projekt ten od kilku lat obumiera, jedyną jego zaletą jest brak opłat...


(Pablo_Wawa) #8

Sprawdziłem też Twoją stronę pod Internet Explorerem 10 (Preview na Windows 7) i efekt jest taki sam jak w IE 9.

Oprogramowanie osCommerce jest darmowe i są do niego pełne źródła, więc można je przejrzeć w poszukiwaniu błędów (typuję dyrektywy warunkowe w kodzie HTML), jeśli komuś bardzo zależy, by naprawić błędy tego oprogramowania.