Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Non-object fatal error
-lukasamd-
post 29.01.2010, 14:49:22
Post #1





Goście







Witam,
używam klasy do obsługi aksimeta w celu filtrowania spamu:

http://www.achingbrain.net/stuff/php/akismet

Samo sprawdzenie wiadomości przebiega bezproblemowo.
Gdy natomiast chcę w administracji oznaczyć komentarz jako prawidłowy / spam to wywala mi:

Kod
Fatal error: Call to a member function submitHam() on a non-object in...


Jeżeli w administracji podam kod taki sam jak w sprawdzaniu komentarzy, również się wysypuje, jakby nie widziało obiektu.
Kod nie jest w żadnej funkcji itp., więc nie muszę używać global.

Sprawdziłem i wiem że:
- obiekt jest tworzony - jeżeli nie podam argumentów, to wywala odpowiednie błędy, poza tym print_r rozpisuje mi odpowiednie dane
- obiekt na 100% nie jest tworzony wcześniej
- odpowiednie wartości są poprawnie do niego zapisywane

Tak więc... co tu może być źle?
Go to the top of the page
+Quote Post
JarCzeS
post 29.01.2010, 15:15:35
Post #2





Grupa: Zarejestrowani
Postów: 42
Pomógł: 0
Dołączył: 5.05.2008

Ostrzeżenie: (0%)
-----


zamiana danej metody na public moze pomoze?
Go to the top of the page
+Quote Post
darko
post 29.01.2010, 15:21:03
Post #3





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Wywołujesz tę metodę kontekstowo:
$akismet->submitHam();
czy statycznie:
Akismet::submitHam();
?

Kolejna sprawa to czy masz poprawne dane w tych zmiennych:
$WordPressAPIKey
$MyBlogURL

?


--------------------
Nie pomagam na pw, tylko forum.
Go to the top of the page
+Quote Post
-lukasamd-
post 29.01.2010, 15:36:46
Post #4





Goście







@JarCzeS:
Ona jest publiczna.


@darko:
Kontekstowo, tak samo jak isCommentSpam(), gdy sprawdzam komentarz podczas jego dodawania przez usera.
Dane są poprawne - po ustawieniu wartości wywołałem print_r no i wszystko jest odpowiednio dodane.
Go to the top of the page
+Quote Post
seth-kk
post 29.01.2010, 16:06:34
Post #5





Grupa: Zarejestrowani
Postów: 444
Pomógł: 79
Dołączył: 26.05.2009

Ostrzeżenie: (0%)
-----


blad mowi ze to na czym wywolujesz metode nie jest obiektem (moze byc tablica zmienna skalarna lub null'em) - uzyj var_dump() tuz przed wywolanaiem metody - to powinno dac obraz czym jest twoj twor


--------------------
Go to the top of the page
+Quote Post
-lukasamd-
post 29.01.2010, 16:12:58
Post #6





Goście







Wywołane podczas dodawania komentarza i sprawdzania go: object(Akismet)#1 + wszystkie dane.
W administracji w sumie to samo:

Kod
object(Akismet)#1 (8) {
  ["version:private"]=>
  string(3) "0.4"
  ["wordPressAPIKey:private"]=>
  string(12) "moj-klucz-api"
  ["blogURL:private"]=>
  string(26) "adres-strony"
  ["comment:private"]=>
  array(8) {
    ["blog"]=>
    string(26) "adres-strony"
    ["user_agent"]=>
    string(81) "Mozilla/5.0 (Windows; U; Windows NT 6.1; pl; rv:1.9.2) Gecko/20100115 Firefox/3.6"
    ["referrer"]=>
    string(55) "adres-referrer-z-administracji"
    ["user_ip"]=>
    string(11) "83.4.69.254"
    ["comment_author"]=>
    string(8) "Testowy"
    ["comment_author_email"]=>
    string(18) "testowy@test.com"
    ["comment_author_url"]=>
    string(0) ""
    ["comment_content"]=>
    string(46) "To jest testowy komentarz"
  }
  ["apiPort:private"]=>
  int(80)
  ["akismetServer:private"]=>
  string(16) "rest.akismet.com"
  ["akismetVersion:private"]=>
  string(3) "1.1"
  ["ignore:private"]=>
  array(12) {
    [0]=>
    string(11) "HTTP_COOKIE"
    [1]=>
    string(20) "HTTP_X_FORWARDED_FOR"
    [2]=>
    string(21) "HTTP_X_FORWARDED_HOST"
    [3]=>
    string(17) "HTTP_MAX_FORWARDS"
    [4]=>
    string(23) "HTTP_X_FORWARDED_SERVER"
    [5]=>
    string(15) "REDIRECT_STATUS"
    [6]=>
    string(11) "SERVER_PORT"
    [7]=>
    string(4) "PATH"
    [8]=>
    string(13) "DOCUMENT_ROOT"
    [9]=>
    string(12) "SERVER_ADMIN"
    [10]=>
    string(12) "QUERY_STRING"
    [11]=>
    string(8) "PHP_SELF"
  }
}


Czyli niby wszystko ok, a niżej nadal fatal error...
Go to the top of the page
+Quote Post
Burned
post 29.01.2010, 17:48:07
Post #7





Grupa: Zarejestrowani
Postów: 67
Pomógł: 8
Dołączył: 19.05.2004
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


literowka?
Go to the top of the page
+Quote Post
-lukasamd-
post 30.01.2010, 12:40:48
Post #8





Goście







Też nie, sprawdzałem juz chyba z 10 razy :/

EDIT
Ma ktoś jakiś pomysł może na to?
Nie żeby było mi jakoś niesamowicie potrzebne, bo same sprawdzanie komentarzy idzie ok, tylko nie mogę oznaczać błędnie przefiltrowanych, no ale dobrze byłoby na przyszłość wiedzieć, co może powodować taki problem.

Ten post edytował lukasamd 30.01.2010, 12:41:21
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 24.07.2025 - 19:06