Autor Zpráva
table
Profil *
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
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 *
Pravda, if ($User == NULL || $User->loggedIn == FALSE) toto už funguje
Tori
Profil
table:
Taky máme funkci is_object.
table
Profil *
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);
        }
Strict Standards: Non-static method GameStats::CalculatePoints() should not be called statically in /home/users/michales/michales.comehere.cz/web/sortfunctions.php on line 270
Na tom řádku je právě toto:
$points = GameStats::CalculatePoints($homescore, $awayscore, $homeresult, $awayresult, $bonus);
Děkuji
juriad
Profil
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 *
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
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 *
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
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 *
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
table:
Na to bychom spíš potřebovali vidět soubor gamestatsclass.php.
table
Profil *
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 *
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 *
Vyřešeno, chybělo mi ještě v jednom souboru unset($_SESSION["User"]); byla tam také stará funkce.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: