Autor | Zpráva | ||
---|---|---|---|
table Profil * |
#1 · Zasláno: 11. 6. 2013, 11:34:13
Ahoj,
asi budu mít úplně banální dotaz ale přeci. Script mi hází tuto chybu: Notice: Object of class User could not be converted to int in /home/users/..../....../web/loginpanel.php on line 13 Na tom řádku je toto: if ($User == 0 || $User->loggedIn == FALSE) Můžete mi někdo poradit řešení? Děkuji předem. |
||
Joker Profil |
#2 · Zasláno: 11. 6. 2013, 11:37:47
table:
V proměnné $User je objekt, takže nedává smysl ho porovnávat proti nule (nelze převést objekt na číslo). |
||
table Profil * |
#3 · Zasláno: 11. 6. 2013, 11:38:55
Pravda, if ($User == NULL || $User->loggedIn == FALSE) toto už funguje
|
||
Tori Profil |
#4 · Zasláno: 11. 6. 2013, 16:51:45
table:
Taky máme funkci is_object. |
||
table Profil * |
#5 · Zasláno: 11. 6. 2013, 18:50:24
Ano díky, použil jsem jí.
Ještě bych se chtěl zeptat, co je špatného na této funkci? if ($homescore != "" and $homeresult != "") { $points = GameStats::CalculatePoints($homescore, $awayscore, $homeresult, $awayresult, $bonus); } Na tom řádku je právě toto: $points = GameStats::CalculatePoints($homescore, $awayscore, $homeresult, $awayresult, $bonus); Děkuji |
||
juriad Profil |
#6 · Zasláno: 11. 6. 2013, 18:56:29
Metoda CalculatePoints třídy GameStats není statická.
Bez znalosti té třídy nelze poradit, který ze dvou způsobů opravy je správně: 1) přidat modifikátor static k definici metody 2) změnit způsob volání: $objekt->CalculatePoints(...)
|
||
table Profil * |
#7 · Zasláno: 11. 6. 2013, 19:05:14 · Upravil/a: table
1) přidat modifikátor static k definici metody
Neporadil by ste jak s tím naložit? 2) změnit způsob volání: $objekt->CalculatePoints(...) Fatal error: Call to a member function CalculatePoints() on a non-object in /home/users/michales/michales.comehere.cz/web/sortfunctions.php on line 270 Ještě jestli mohu doplnit dotaz, tato funkce asi bude také zastaralá session_unregister("ErrorCode"); protože hází chybu: Deprecated: Function session_unregister() is deprecated in Pokud to nahradím za: session_unset("ErrorCode"); tak chyba zmizí ale vždy po kliku na jakoukoliv stránku mě to odhlásí. |
||
Joker Profil |
#8 · Zasláno: 11. 6. 2013, 21:53:16
table:
„Fatal error: Call to a member function CalculatePoints() on a non-object“ V proměnné $objekt v juriadově kódu má být instance objektu té příslušné třídy. Ale ta nejdůležitější věc je, jestli ta metoda má být statická, nebo nemá. Což my nevíme. |
||
table Profil * |
#9 · Zasláno: 11. 6. 2013, 21:58:53
Fatal error: Call to a member function CalculatePoints() on a non-object“
V proměnné $objekt v juriadově kódu má být instance objektu té příslušné třídy. Ano vim a mam to tak, prosim vyjádřili by jste se ještě k druhé části dotazu ohledně session_unregister("ErrorCode"); |
||
Alphard Profil |
#10 · Zasláno: 11. 6. 2013, 22:12:28
table:
„prosim vyjádřili by jste se ještě k druhé části dotazu ohledně session_unregister("ErrorCode");“ Vhodnější náhrada bude unset($_SESSION['ErrorCode']); . session_unset() zničí všechny sessions proměnné.
|
||
table Profil * |
#11 · Zasláno: 12. 6. 2013, 09:49:13
Já Vám všem děkuji za to že se mi snažíte pomoct, ovšem stále to není to správné.
unset($_SESSION['ErrorCode']); už neháže chybu ale zase se nemohu odhlásit, po kliku na odhlásit se nic nestane. Co se týče tohoto Joker: > „Fatal error: Call to a member function CalculatePoints() on a non-object“ > V proměnné $objekt v juriadově kódu má být instance objektu té příslušné třídy. > > Ale ta nejdůležitější věc je, jestli ta metoda má být statická, nebo nemá. Což my nevíme. Tak zde je celý kod: http://pastebin.com/dqaGSMFK řádek 270 je to co mi dělá ten problém. Děkuji všem ještě jednou za to že mi pomáháte. |
||
Tori Profil |
#12 · Zasláno: 12. 6. 2013, 13:26:15
table:
Na to bychom spíš potřebovali vidět soubor gamestatsclass.php. |
||
table Profil * |
#13 · Zasláno: 12. 6. 2013, 13:34:15
Zde http://pastebin.com/Vr1DxAZS je
|
||
Tori Profil |
table:
Takže změnit metodu na statickou asi nepůjde, protože se v ní pracuje s proměnnými instance. Najděte v kódu, kde máte nějaké $promenna = new Gamestats($User) . Potom si najděte ty dvě funkce, ve kterých je metoda CalculatePoints volaná, přidejte $promenna do globalních, a volání Gamestats::CalculatePoints změňte na $promenna->CalculatePoints .
Sice normálně nedoporučuju používání global, ale tady by se muselo přepsat několik skriptů, kdybyste se tomu chtěl vyhnout. |
||
table Profil * |
#15 · Zasláno: 12. 6. 2013, 16:00:23
Tori:
Velice děkuji, tento problém už je vyřešen. Díky moc. Ještě jestli by jste byl tak hodný a poradil mi s tím session_unregister("ErrorCode"); Pokud použiju unset($_SESSION['ErrorCode']); tak se neodhlásím po kliku na odhlášení. A pokud nechám session_unregister("ErrorCode"); tak to píše chybu Fatal error: Call to undefined function session_unregister() in na tom řádku kde je session_unregister("ErrorCode"); Díky za radu |
||
table Profil * |
#16 · Zasláno: 13. 6. 2013, 09:10:43
Vyřešeno, chybělo mi ještě v jednom souboru unset($_SESSION["User"]); byla tam také stará funkce.
|
||
Časová prodleva: 11 let
|
0