Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Call to a member function ...a non-object pomocy!
Forum PHP.pl > Forum > Przedszkole
emeres1
Witam,
stawiam swoje pierwsze kroki w MVC i trapi mnie jeden problem którego nie rozumiem.(Pliki maja rozszerzenie php5 bo narazie nie rozkminialem jak zmienic na serwerze z php4 na php5).
model.php
  1. <?php
  2. include ('../www/class.DataMenager.php5');
  3. class Model{
  4. public function _construct($login,$password,$password,$password2,$email)
  5. {
  6. $this->login = $login;
  7. $this->password=$password;
  8. $this->password2=$password2;
  9. $this->email=$email;
  10. }
  11. public function addLogin()
  12. {
  13. $add = DataMenager::addlogindt($this->login,$this->password,$this->password,$this->password2,$this->email);
  14. return $addlog=1;
  15. }
  16.  
  17. }
  18. ?>

class.DataMenager.php5
  1. <?php
  2.  
  3. class DataMenager{
  4. private $connectlink;
  5. private $hostname ="mysql5-13.pro";
  6. private $username = "jailfunkra";
  7. private $password = "ajschylos1";
  8. private $datebase ="jailfunkra";
  9.  
  10.  
  11. public function __construct() {
  12. $this->connectlink = mysql_connect($this->hostname,$this->username,$this->password);
  13. if(!$this->connectlink){
  14.  
  15. }else{
  16. mysql_select_db($datebase);
  17. }
  18. }
  19.  
  20. public function addlogindt($login,$password,$password,$password2,$email){
  21.  
  22. $sql =mysql_query("insert into test values(NULL,
  23. '$login','$password','$password2','$email'");
  24.  
  25. }
  26. }
  27.  
  28. ?>

controller.php5
  1. <?php
  2. include_once('../www/model/model.php5');
  3. class Controller {
  4. public $model;
  5. public function _construct(){
  6. $this->model=new Model($this->login=$_POST['login'],
  7. $this->password=$_POST['password'],$this->password2=$_POST['password2'],
  8. $this->email=$_POST['email']);
  9. }
  10. public function invoke(){
  11. if(!isset($_GET['form'])){
  12. include_once'view/form.php5';
  13. } else {
  14. $this->model->addlogin();
  15. }
  16. }
  17. }
  18.  
  19. ?>

wywolanie w index
  1. <?php
  2. include_once("controller/controller.php5");
  3. $obj= new Controller();
  4. $obj->invoke();
  5. ?>


dostaje komunikat:

Fatal error: Call to a member function addlogin() on a non-object in /homez.354/jailfun/www/controller/controller.php5 on line 14

Jak to możliwe skoro wcześniej wywołałem obiekt : Model? W wersji bez danych z POST również nie działą.Podpowie ktoś co robie nie tak?ó
Crozin
http://www.google.com/search?client=opera&...-8&oe=utf-8
Ponad 700 tys. wyników, a Ty nie możesz spojrzeć na chociażby jeden?
emeres1
Gdybym tam wcześniej nie spojrzał to bym tu nie pisał.Mój angielski jest ograniczony ,a w przykładach które prześledziłem nie moge znależć rozwiązania mojego problemu.Nakierujesz?
Crozin
Słaby angielski to wyłącznie Twój problem, zresztą... http://www.google.pl/search?as_q=Fatal+err...amp;safe=images (21 tys. wyników).
emeres1
owszem mój.Generalnie widze taki problem z smartami,joomlami itd nic co by mi rozjaśniło sprawe.
ADeM
"addlogin" != "addLogin"?
wookieb
Konstruktor ma dwa podkreślniki. "__construct". Ale to nie usprawiedliwia problemów z dość prostym komunikatem błędów tongue.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.