![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 11.11.2012 Ostrzeżenie: (0%) ![]() ![]() |
Witam, mam następujący problem
Fatal error: Cannot redeclare rank_adv() in settings.php on line 38 Kod którego to dotyczy:
Problem jest jeszcze dziwniejszy, ponieważ błąd ten wyskakuje losowo, tzn raz odświeżę stronę i działa a raz (rzadko) przy odświeżeniu wyskakuje błąd. Można powiedzieć, że dopiero zaczynam swoją przygodę w PHP. Szukałem już odpowiedzi na moje pytanie jednakże nie includuję kilkukrotnie tej funkcji (gdy dam include_once błąd wyskakuje nadal). Z góry dzięki za odpowiedzi. odświeżam bardzo potrzebuję pomocy (zależy mi na czasie) Ten post edytował gegos 14.12.2012, 09:03:21 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 279 Pomógł: 36 Dołączył: 1.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
Wielkość znaków w nazewnictwie klas nie ma znaczenia, może masz inną, ale zaczynającą się z dużej litery?
Szukałem już odpowiedzi na moje pytanie jednakże nie includuję kilkukrotnie tej funkcji (gdy dam include_once błąd wyskakuje nadal). Include, a include_once nie ma znaczenia - jeżeli kilkukrotnie deklarujesz kod z powyższą funkcją. Chociaż trudno powiedzieć, skoro błąd występuje losowo. E: Jeszcze przyszło mi do głowy, że być może w zależności od wyniku SQL wykonujesz (w określonym przypadku) pętlę, a w niej includujesz klasę - to wyjaśniałoby coś co przypomina losowy błąd. Ten post edytował kristaps 14.12.2012, 17:23:51 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 11.11.2012 Ostrzeżenie: (0%) ![]() ![]() |
Funkcję wykorzystuję tylko w tym fragmencie
Jednakże, błąd ten występuje również na podstronach na których funkcja ta nie jest w żaden sposób wykorzystywana Ten post edytował gegos 14.12.2012, 18:32:03 |
|
|
--flaku-- |
![]()
Post
#4
|
Goście ![]() |
skoro dałeś
to zamiast daj Albo inaczej - moim zdaniem bez sensu jest zmienna $rank. przecież można dać od razu:
bez echo... |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 11.11.2012 Ostrzeżenie: (0%) ![]() ![]() |
Zrobiłem tak, ponieważ przy wersji
$rank = rank_adv(); if ( empty(rank_adv()) ) { $level = mysql_result(mysql_query("SELECT level FROM users WHERE login = '$login'"), 0); echo '<li><a href="rank.php"><u>Your rank: <b>'.$level.'</u></b></a></li><br />'; } else { echo rank_adv(); } Wyskakiwał mi błąd przy skasowaniu "echo" przy rank_adv() w powyższym kodzie problem występuje nadal odświeżam bardzo proszę o pomoc Ten post edytował gegos 14.12.2012, 19:30:28 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 279 Pomógł: 36 Dołączył: 1.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
Jednakże, błąd ten występuje również na podstronach na których funkcja ta nie jest w żaden sposób wykorzystywana Funkcja nie, ale pliki includujesz, a w którymś z nich podwójnie deklarujesz klasę. Innego wyjścia nie ma, tylko nadal jestem przekonany, że ten losowy błąd - to tak naprawdę jakiś if czy pętla. Jeżeli cały czas podwójnie deklarujesz klasę, chociażby przez dołączenie pliku - strona by leżała. A skoro działa, ale wysypuje się co jakiś czas - to najbardziej prawdopodobne, że sprawdzasz wynik bazy ifami, a jeden zawiera błędny kod - chociażby ponownie deklaruje/includuje klase. To samo może być z pętlą. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 11.11.2012 Ostrzeżenie: (0%) ![]() ![]() |
Nie deklaruje klasy podwójnie, pętli nie wykorzystuje a warunek nie includuje ani nie deklaruje na nowo funkcji :/
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 2 355 Pomógł: 533 Dołączył: 15.01.2010 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Ktoś kłamie...
"Fatal error: Cannot redeclare rank_adv() in settings.php on line 38" "Nie deklaruje klasy podwójnie, pętli nie wykorzystuje a warunek nie includuje ani nie deklaruje na nowo funkcji :/" Jak myślisz, kto? (IMG:style_emoticons/default/wink.gif) |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 11.11.2012 Ostrzeżenie: (0%) ![]() ![]() |
Wiem jak to wygląda, jednakże nie mam pojęcia gdzie mogę includować jeszcze raz tą funkcję (?)
to caly kod php z jednej podstrony na której błąd występuje, nie mam pojęcia gdzie może być błąd |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 279 Pomógł: 36 Dołączył: 1.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
Wkleiłeś kod, w którym nie ma ani jednego odwołania do klasy, zbyt wiele nie pomoże. Poza tym wygląda na oko dobrze, pokaż więcej z settings.php, może w innej klasie odwołujesz się do rank_adv().
Ten post edytował kristaps 15.12.2012, 22:10:11 |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 11.11.2012 Ostrzeżenie: (0%) ![]() ![]() |
tak wiem, ale na tej podstronie również występuje błąd
settings.php
odświeżam odświeżam serio nikt nie potrafi pomóc? Odświeżam już czwarty dzień (IMG:style_emoticons/default/smile.gif) Ten post edytował gegos 15.12.2012, 22:08:52 |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Nie ma takiej opcji. Poszukaj jakiegoś narzędzia które we wskazanych plikach znajdzie ci wymienioną funkcję. Musisz robić gdzieś podwójny inlcude albo gdzieś jeszcze deklarację. Poza tym kod trochę bez sensu. Po co te globale? Powtarzanie $rankup zamiast tylko sam rank które jednorazowo wstawiasz na samym końcu pod li. Zauważyłeś że funkcja niczego nie zwraca więc po co niby if ( empty($rank) ) {? Dodatkowo z dokumentacji:
Cytat Prior to PHP 5.5, empty() only supports variables; anything else will result in a parse error. In other words, the following will not work: empty(trim($name)). Instead, use trim($name) == false.
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 11.11.2012 Ostrzeżenie: (0%) ![]() ![]() |
Jednak funkcja była wywoływana dwa razy, kolega przy bawieniu się shoutboxem zaincludował plik bez mojej wiedzy (sam bym tego błędu nie zrobił(IMG:style_emoticons/default/smile.gif) )
Dzięki wszystkim za pomoc, temat można zamknąć (IMG:style_emoticons/default/tongue.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 19:53 |