![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 11.11.2013 Ostrzeżenie: (0%) ![]() ![]() |
Ohayo!
Od jakiegoś czasu piszę programy w PHP. Skrypt, który przedstawiam poniżej działał prawidłowo w XAMPP-ie 1.73 (zapewne tam było PHP w wersji niższej niż 5.4). Gdy przeszedłem na XAMPP-a 1.82 (gdzie króluje PHP 5.4) przeglądarka wyrzuca mnóstwo błędów przy wczytywaniu pliku file02.php, których wcześniej nie było. Nie chodzi mi o to aby się pozbyć komunikatów lecz o to by skrypt działał prawidłowo. Plik cat01/config.php:
Plik cat01/function.php:
W pliku function.php docelowo mają się też znaleźć inne funkcje zależne od funkcji połącz. Funkcję tę stworzyłem po to by za każdym razem nei sprawdzać czy udało się połączenie z bazą danych i nie pisać komunikatów błędów na Ekranie. Plik file02.php
CODE Notice: Undefined variable: serwer in C:\xampp\htdocs\puppe\cat01\function.php on line 3 Notice: Undefined variable: user in C:\xampp\htdocs\puppe\cat01\function.php on line 4 Notice: Undefined variable: pass in C:\xampp\htdocs\puppe\cat01\function.php on line 5 Notice: Undefined variable: baza in C:\xampp\htdocs\puppe\cat01\function.php on line 6 Notice: Trying to get property of non-object in C:\xampp\htdocs\puppe\file02.php on line 9 Nie udaĹo siÄ.. . Tak wygląda wynik wykonania skryptu file02.php. Wcześniej było wszystko jak trzeba. W wersji 5.3 PHP miałem wyłączone register_globals i działało. Teraz jak gdyby serwer dostał grzyba i nie łączy się z bazą danych (dane do bazy są podane prawidłowo. w tabeli drzewo znajdują się przykładowe wartości). Nie wiem gdzie jest błąd. Poza tym zależy mi na tym aby wyrzucało błędy w przypadku niepowodzenia połączenia się z bazą danych, zwłaszcza że serwery MySQL są zawodne i czasami nie udaje się nawiązać z nimi połączenia gdy np. są przeciążone. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 3 034 Pomógł: 366 Dołączył: 24.05.2012 Ostrzeżenie: (0%) ![]() ![]() |
Po pierwsze definiuj STAŁE wiekimi literami...
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 11.11.2013 Ostrzeżenie: (0%) ![]() ![]() |
Po pierwsze definiuj STAŁE wiekimi literami... To nic nie zmieniło... Zauważyłem również, że gdy w pliku function.php, zaraz po wypisaniu require("config.php") dodam następujące frazy To znikają pierwsze cztery komunikaty notice. Nie rozumiem jednak, dlaczego muszę dodawać global, skoro używam zmiennych z pliku i to w głównym skrypcie. Gdyby to była funkcja, to co innego. Podejrzewam, że parser PHP coś źle działa. Na wcześniejszej wersji Xamppa 1.73 z PHP 5.3 wszystko chodziło jak trzeba. Początkowo przypuszczałem, że pisane w PHP aplikacje będą kompatybilne z różnymi wersjami PHP, chyba że znajdą się w nich przestarzałe funkcję (takowych chyba u mnie nie ma). Teraz jednak widzę, że napisanie działającej aplikacji jest grą w ciemno, co mnie znacznie zniechęca do dalszego poznawania PHP. Jeszcze jedna uwaga: Skrypt działa prawidłowo na hostingu cba.pl, ugu.pl bez względu na to czy ustawię PHP w wersji 5.4 czy 5.3 czy 5.2. U mnie obecna jest wersja PHP 5.4.19, zaś środowisko Apache mam w wersji 2.4.4 i są kłopoty. Serwery internetowe zapewne coś w sobie mają skoro łykają moje skrypty bez żadnych ale. Przyznam również, że nie zostały postawione przez Czarodziejkę Tecne z klubu Winx. Chcę mieć na localhoście taką samą sytuację. Włączałem i wyłączałem różne dyrektywy w pliku PHP Ini lecz problem nie ustąpił. Ten post edytował Syaoran i Sakura 12.11.2013, 00:22:59 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 5.10.2025 - 03:25 |