![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 70 Pomógł: 0 Dołączył: 28.01.2004 Skąd: że znowu ლ(ಠ益ಠლ Ostrzeżenie: (0%) ![]() ![]() |
Witam,
mam bardzo dziwny problem: parę lat temu napisałem sobie prosty pager, który wtedy działał bez zarzutu zawsze i wszędzie. Teraz działa tylko wtedy, gdy znajduje się sam w pliku. Taki samolubny się zrobił... Konkretnie wygląda to tak: pliczek 'stronicowanie.php' Gdy uruchamiam ten kod, wszystko jest w porządku (jeśli skomentuję linijkę 28 to nic się nie wyświetli). Lecz gdy wkleję samą funkcję do innego pliku (lub includuję plik z samą funkcją), pojawiają się błędy: Cytat Warning: Missing argument 1 for pag() in index.php on line 6 A gdy uruchomię funkcję gdzieś dalej w pliku, podając argumenty: pag(36,1,10); to funkcja wykonuje się dwa razy... Raz w miejscu, gdzie jest zdeklarowana - i tu wyświetla ostrzeżenia, drugi raz w miejscu, gdzie rzeczywiście ją uruchamiam - tu wyświetla numer stron.Warning: Missing argument 2 for pag() in index.php on line 6 Warning: Missing argument 3 for pag() in index.php on line 6 Nie mam pojęcia jak to możliwe, nie widzę żadnej reguły szczególnie jeśli funkcja działa normalnie w osobnym pliku... Starając się pozbyć ostrzeżeń wstawiłem wartości do funkcji; linijka 6 wygląda wtedy tak: function pag($ilosc=0, $a=1, $c=10) { i również w tym przypadku funkcja sama się wykonuje (sprawdziłem to dodając print 'asd'; na końcu). Co zrobić, aby funkcja wykonywała się tylko tam, gdzie ja tego chcę? Ten post edytował tomilipin 25.02.2007, 21:31:34 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarząd Postów: 2 277 Pomógł: 6 Dołączył: 27.12.2002 Skąd: Wołów/Wrocław ![]() |
Jeśli kodujesz w PHP5, zrób tak:
1. Usuń domyślne wartości parametrów - musisz widzieć, kiedy jest wywoływana 2.W ciele tej funkcji wstaw throw new Exception( 'błąd pag' ); Skrypt oczywiście od razu się wywali, ale pokaże Ci też, w którym dokładnie miejscu funkcja ta została po raz pierwszy wywołana (dzięki trace które się wykonuje dla każdego tworzonego wyjątka) |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 70 Pomógł: 0 Dołączył: 28.01.2004 Skąd: że znowu ლ(ಠ益ಠლ Ostrzeżenie: (0%) ![]() ![]() |
Wszystko piszę pod PHP 4 i pewnie dlatego kod, który podałeś się sypie... parser zwraca error unexpected T_NEW
Niemniej jednak tak już namieszałem, że postanowiłem podpiąć pager pod wyniki od nowa i... o dziwo! Działa dobrze (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) W funkcji nic nie zmieniałem więc widocznie błąd tkwił w sposobie sprzężenia wyników z pagerem. Jak zawsze to człowiek stanowi najsłabsze ogniwo. Zdaje się, że temat jest niepotrzebnie założony, można go więc usunąć... Przepraszam za kłopot. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 19:32 |