Autor | Zpráva | ||
---|---|---|---|
Pavel Kr. Profil * |
#1 · Zasláno: 14. 5. 2014, 12:26:54
Dobrý den,
mám webovou aplikaci v php, která tři měsíce šlape naprosto bez problémů. Dneska se chci přihlásit a vyskočí na mě: Fatal error: Cannot redeclare jePrihlasen() (previously declared in /funkce.php:7) in /funkce.php on line 11 Do kódu jsem nijak nezasahoval (!), tak proč mi to píše, že mám vícekrát deklarovanou funkci. Tento soubor funkce se includuje do všech stránek (jsou v něm všechny funkce). Je možné, z ničeho nic aby to udělalo? Popřípadě jak to řešit? Děkuji. |
||
Joker Profil |
#2 · Zasláno: 14. 5. 2014, 12:29:45
Pavel Kr.:
Nevloží se na té stránce vícekrát? Jak vypadá soubor funkce.php v oblasti řádků 7-11? |
||
Pavel Kr. Profil * |
#3 · Zasláno: 14. 5. 2014, 12:33:14 · Upravil/a: Pavel Kr.
Joker:
funkce vypadá takto (první řádek je řádek č.6 a poslední je č.11): function jePrihlasen(){ include "prihlaseni_k_db.php"; if (!isset($_SESSION["id"])) return false; $zjisteni_prihlasen222 = mysqli_query($mysqli, "select id from uzivatele where je_admin=0 and id=".$_SESSION["id"].""); if(mysqli_num_rows($zjisteni_prihlasen222) == 1) {return true;} else {return false;} } Taky mě zajímá, jak je možné, že 3 měsíce to takhle fungovalo a ze dne na den proč bác. |
||
Pavel Kr. Profil * |
#4 · Zasláno: 14. 5. 2014, 13:39:35
Tak vyřešeno, v jiném includovaném souboru jsem volal taktéž funkce.php, include_once to vyřešilo.
Ale fakt je mi záhadou, jak je kurňa možné, že to 3 měsíce běželo úplně normálně a vlastně přes noc se to rozhodlo stávkovat :-) stalo se to někomu? Jak to? |
||
Joker Profil |
#5 · Zasláno: 14. 5. 2014, 14:29:16
Pavel Kr.:
„jak je kurňa možné, že to 3 měsíce běželo úplně normálně a vlastně přes noc se to rozhodlo stávkovat“ Třeba tak, že jeden z těch include se dělal jen za určitých podmínek, které předtím nenastávaly. |
||
Manny Profil |
#6 · Zasláno: 14. 5. 2014, 15:01:44
Pavel Kr.:
„stalo se to někomu?“ Na mě před nedávnem vyskočila podobná hláška. Pak jsem zjistil, že odkazuju na soubor s funkcemi opakovaně. require_once to vyřešilo.
|
||
Pavel Kr. Profil * |
#7 · Zasláno: 14. 5. 2014, 17:16:44
Joker:
Ten druhý include nahrával menu, které se nahrávalo vždycky :-) nějaký další nápad? Fakt je mi to záhadou... |
||
Pavel Kr. Profil * |
#8 · Zasláno: 14. 5. 2014, 19:19:15
Manny:
Myslel jsem jestli se někomu stalo, že ta hláška vyskočila až po několika měsících bezchybného používání... |
||
rafej Profil |
#9 · Zasláno: 14. 5. 2014, 21:55:59
Myslím, že něco podobného jsem viděla při upgradu starších verzí PHP a změnách konfigurace na serveru. To ovšem neznamená, že "funkční skript" byl zároveň i bezchybný.
|
||
Pavel Kr. Profil * |
#10 · Zasláno: 14. 5. 2014, 22:32:45
rafej:
Verze PHP se na serveru neaktualizovala. Skript bezchybný nebyl, ale prostě proč se to objevilo až po třech měsících bezchybného chodu? |
||
jenikkozak Profil |
#11 · Zasláno: 14. 5. 2014, 23:21:49
Pravděpodobnější je, že jste si chyby dosud nevšiml (spoléhat na to, že návštěvníci by chybu nahlásili, se nevyplatí) nebo že došlo ke změně, které jste nevěnoval pozornost.
|
||
Pavel Kr. Profil * |
#12 · Zasláno: 14. 5. 2014, 23:38:33
jenikkozak:
Právě, že návštěvníci chybu nahlásili, protože skrz ni se nedalo přihlásit :-) a do té doby jsem se skoro každý den přihlašoval i já a fungovalo to bez problému. Pro jistotu se ještě zeptám na wedosu, ale verze PHP se rozhodně neměnila. Je to prostě záhada. |
||
Pavel Kr. Profil * |
#13 · Zasláno: 15. 5. 2014, 23:02:30
Nic nic nic. Prostě blesk z čistého nebe. Stal se zázrak, chci Nobelovku. V programování se přece nic neděje jen tak.
|
||
Časová prodleva: 10 let
|
0