[PHP] Problem mit objekten
-
Hallo Leute,
ich bin hier schier am verzweifeln... und zwar hab ich 2 Klassen, ne Datenbankklasse und ne Adminklasse... die Adminklasse soll auf die Datenbankzugreifen können, geht aber nicht, weil er das Objekt der Datenbankklasse nicht richtig speichert?!?!Auszug:
class Admin { var $db; function createAdmin($db_given) { $db = $db_given; session_start(); } function Login($array) { $res = $db->GetRow("SELECT COUNT(id) FROM admin WHERE user = ? AND passwd = ?", array($array['username'],md5($array['passwd'])),1); if($res == 1) { $_SERVER['user'] = $array['username']; return true; } return false; } }
als fehlermeldung bekomme ich:
Fatal error: Call to a member function GetRow() on a non-object in D:\xampp\xampp\htdocs\bums\admin\admin_class.php on line 38
Jemand ne Ahnung woran das liegt? Hab auch versucht es mit is_object rauszufinden, aber hat nix gebracht...
-
1. schreibst du in einer veralteten Syntax. Unter PHP5 sollte man var nicht mehr benutzen, auch, wenn es ab PHP6 ein Synonym für publich sein wird.
2. instanzierst du mit $db in createAdmin() und Login() (übrigens eine uneinheitliche Funktionsnomenklatur) eine lokale Variable $db. Ich denke, was du schreiben willst, wäre $this->db.
3. rücke mal bitte deine Codezeilen ein! Es ist eine Qual, sich durch solche Codes zu quälen; bzw. wenn sie an Umfang steigen, wird es unmöglich!
-
zu 1.: thx wusst ich ned... wollte eigentlich public verwenden aber da wurde gemeckert
2.: aso und ich weiß dass ich die Methodennamen noch änder... war ja nur schnell probiert..
3. keine angst, mach ich schon nur hats das a weng verhauen ^^
-
zu 1.: thx wusst ich ned... wollte eigentlich public verwenden aber da wurde gemeckert
Bei public-Attributen würde ich auch heftigst meckern.
class Admin { private $db; public function __construct($db) { $this->db = $db; } public function login($array) { $this->res = $db->GetRow(...); ... } }
-
verdammt... du hast recht -.-
nya lernt man heutzutage aufm TGI au nix mehr
-
nya lernt man heutzutage aufm TGI au nix mehr
wie auch, bei dem Schneckentempo wies da vorangeht
-
Das stimmt allerdings... Nya gut... ich konnte ja vorher schon programmieren, aber ich geb zu, OOP hab ich in PHP noch nie benutzt
-
Ich gebs ja zu, ich hab mir des OOP zeuch mit dem OOP in PHP beigebracht
Es ging ja nur ums prinzip
Nya gut... ich konnte ja vorher schon programmieren
Jau, ging mir auch so, zum glück...die Anderen, dies vorher nciht konnten, (was heißt eigentlich können?) haben ziemliche schwirigkeiten.
-
mein lehrer hats erkannt... gibt 3 leute in der Klasse die programmieren können, wir müssen die aufgaben die wir gestellt bekommen nicht machen, wir sollen nur rumlatschen und den anderen helfen
Wir machen Java im TGI...sorry für OffTopic