login  Naam:   Wachtwoord: 
Registreer je!
 Forum

non-object in class

Offline bertlim - 18/03/2006 17:15 (laatste wijziging 18/03/2006 18:14)
Avatar van bertlimPHP interesse Hallo iedereen,

Ik heb nu een membersclass gemaakt, met login, etc
Ik krijg bij het inloggen mooi het inlog venstertje te zien en als ik inlog krijg ik deze error:

Fatal error: Call to a member function on a non-object in /www/users/bertlim.downfire.com/classes/Memberclass.php on line 137

hier vind je men code:
http://www.plaatscode.be/613/

kan iemand me helpen?

Bedankt bij voorbaat,

Bertlim

Citaat:
Rensjuh edit:
Regels 2.3:
voorzie het bericht eventueel van codefragmenten (géén lappen text)
Plaats de lappen code op plaatscode.be

8 antwoorden

Gesponsorde links
Offline nemesiskoen - 18/03/2006 17:17
Avatar van nemesiskoen Gouden medaille

PHP expert
De fout ligt niet bij je class maar bij het aanroepen van een van je functies. Je roept een methode (functie) aan van een object dat niet is gedefiniëerd. Dit is hetzelfde als:

  1. $test->hallo();


Terwijl $test nergens anders voorkomt.
Offline bertlim - 18/03/2006 17:23
Avatar van bertlim PHP interesse zo roep ik em aan:

  1. $memb = new MemberClass;
  2. $memb->cLogin($username,$pass);

Wat doe ik hier dan verkeerd?

Bedankt bij voorbaat,

Bertlim
Offline Rens - 18/03/2006 17:32
Avatar van Rens Gouden medaille

Crew algemeen
Regel 137:
  1. $MyQu[5] = $db->cQuerys("SELECT * FROM members WHERE username = '".$username."' AND pass = '".$pass."'");

Daar zit de fout.
Zoals je ziet staat er $db->cQuery(...).
Dat $db->cQuery mag niet.
Je moet het zo doen (even ervan uitgaande dat de classnaam van $db gewoon db is):
  1. $MyQu[5] = db::cQuerys("SELECT * FROM members WHERE username = '".$username."' AND pass = '".$pass."'");
Offline bertlim - 18/03/2006 18:11
Avatar van bertlim PHP interesse
Citaat:
Regel 137:

1

$MyQu[5] = $db->cQuerys("SELECT * FROM members WHERE username = '".$username."' AND pass = '".$pass."'");

Daar zit de fout.
Zoals je ziet staat er $db->cQuery(...).
Dat $db->cQuery mag niet.
Je moet het zo doen (even ervan uitgaande dat de classnaam van $db gewoon db is):

1

$MyQu[5] = db::cQuerys("SELECT * FROM members WHERE username = '".$username."' AND pass = '".$pass."'");


als ik dit doe krijg ik deze error:

Parse error: parse error, unexpected T_PAAMAYIM_NEKUDOTAYIM in /www/users/bertlim.downfire.com/classes/Memberclass.php on line 137
Offline Rens - 18/03/2006 18:59 (laatste wijziging 18/03/2006 19:08)
Avatar van Rens Gouden medaille

Crew algemeen
Plak de hele code eens op http://www.pastebin.be

edit; Ah, ik zie dat de code die je in het begin post, de juiste is.
  1. $MyQu[5] = $db::cQuerys("SELECT * FROM members WHERE username = '".$username."' AND pass = '".$pass."'");
  2. $MyNu[1] = $db::cNumRows($MyQu[5]);

Je moet niet een var. gebruiken, als $db.
Je moet daar de classnaam gebruiken, maar dan zonder $-teken ervoor.
Dus voorbeeldje:
  1. <?PHP
  2. class blaat
  3. {
  4. function echoBlaat()
  5. {
  6. echo "blaat";
  7. }
  8. }
  9. ?>


  1. <?PHP
  2. class nogBlaat
  3. {
  4. function echoNogBlaat()
  5. {
  6. echo blaat::echoBlaat();
  7. }
  8. }
  9. ?>


Zoals je ziet op regel 6 van het 2e stukje code, blaat:: zonder $-teken.
Offline bertlim - 18/03/2006 20:17
Avatar van bertlim PHP interesse die error is nu weg maar nu krijg ik deze error:

Fatal error: Call to undefined function: cmicrotime() in /www/users/bertlim.downfire.com/classes/SQLclass.php on line 57

:'(

dit is de code van men SQLclass:


  1. function cMicrotime()
  2. {
  3. $time = explode(' ', microtime());
  4.  
  5. return $time[0] + $time[1];
  6. }
  7.  
  8.  
  9.  
  10. function cQuerys($input)
  11. {
  12. $start_time = $this->cMicrotime();
  13. $query = mysql_query($input);
  14. $this->execed = 1;
  15. $this->countquerys++;
  16.  
  17. $time = $this->cMicrotime() - $start_time;
  18. $this->querytime += $time;
  19.  
  20. return $query;
  21. }


1ste functie is dus cMicrotime() & de in de 2de functie roep ik em aan bij $start_time.

Bertlim
Offline Rens - 18/03/2006 20:18
Avatar van Rens Gouden medaille

Crew algemeen
Plaats je hele SQL class eens op pastebin.be
Vind het altijd wat makkelijker zoeken met de volledige code en regelnummers...
Offline bertlim - 18/03/2006 20:24 (laatste wijziging 20/03/2006 13:03)
Avatar van bertlim PHP interesse http://www.pastebin.be/617/

hier is de link, kan iemand me helpen?
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.259s