Forum › PHP / SQL › Topic

Een nieuwe topic in het forum PHP / SQL plaatsen Reageren op dit topic Forum:

[PHP/SQL] Non-Object

Oke, het maakt me echt helemaal gek;
Ik weet niet wat ik nou precies veranderd moet hebben aan de class die ik geschreven had, maar aan de functie zelf heb ik helemaal niets veranderd.

Ik krijg de hele tijd de volgende melding bij het uitvoeren van het daarbijbehorende script.

Code tonen/verbergenCodeDeze code in een nieuw vensterDeze code in een tekstveldDeze code in een zip file downloaden
1
Fatal errorCall to a member function postComment() on a non-object in /home/USER/FOLDER/modules/nieuws/reageren.php on line 57



regel 57:
Code tonen/verbergenCodeDeze code in een nieuw vensterDeze code in een tekstveldDeze code in een zip file downloaden
1
2
3
4
5
if($comment->postComment()){ // (57)foutmelding ? 
// correct
}else{
// incorrect
}




postComment.functie
Code tonen/verbergenCodeDeze code in een nieuw vensterDeze code in een tekstveldDeze code in een zip file downloaden
1
2
3
public function postComment(){
        return 
true;
    }




Wat o wat doe ik verkeerd hij werkte eerst wel namelijk (om het makkelijker te houden return ik gewoon true, maar de error blijft.
Stuur een prive bericht
Dat betekent dat $comment een null reference is, of anders een totaal andere waarde heeft (een integer of string). Met andere woorden, er zit geen object van jouw class in de variabele $comment. Je kan altijd met een var_dump($comment) snel achterhalen wat er wel in zit.
Stuur een prive bericht
Nou, als ik het dus goed begrijp bedoel je te zeggen dat $comment niet gedefinieerd is?

In het script staat het volgende:
Code tonen/verbergenCodeDeze code in een nieuw vensterDeze code in een tekstveldDeze code in een zip file downloaden
1
$comment = new comment();



hij heeft eerst altijd gewerkt, maar zo ineens plots niet meer. Dat is het vreemde. Kan het probleem ook vanuit een andere class voortvloeien, of is dit niet mogelijk?

Bedankt alvast,
Stuur een prive bericht
Het is mogelijk, als in die class $comment als global gebruikt wordt, maar betwijfel of dat het geval is. Doe eens een var_dump($comment) net voor die regel dat je post? (Zoals ik al eerder zei.)
Stuur een prive bericht
Dan weergeeft ie totaal niets, als ik hem erna zet krijg ik:
Code tonen/verbergenCodeDeze code in een nieuw vensterDeze code in een tekstveldDeze code in een zip file downloaden
1
object(comment)#3 (2) { ["commentArr"]=> array(0) { } ["comments"]=> array(0) { } }


Stuur een prive bericht
Quote:
ZiraX schreef:
Dan weergeeft ie totaal niets, als ik hem erna zet krijg ik:


Ik bedoel wel voor de regel (57):
Code tonen/verbergenCodeDeze code in een nieuw vensterDeze code in een tekstveldDeze code in een zip file downloaden
1
if($comment->postComment()){


Stuur een prive bericht
Code tonen/verbergenCodeDeze code in een nieuw vensterDeze code in een tekstveldDeze code in een zip file downloaden
1
array(6) { ["c_id"]=> string(1"8" ["c_itemid"]=> string(1"1" ["c_author"]=> string(1"5" ["c_message"]=> string(3"ghd" ["c_date"]=> string(10"1337362312" ["c_type"]=> string(6"nieuws" }



Er staat dus al invoer in, waardoor postComment niet uitgevoerd mag worden?

Dat zou dan dus betekenen dat ik geen postcomment en getcomments functie mag hebben?
Stuur een prive bericht