2011-10-02 7 views
-2

可能性の重複:
Call to a member function on a non-object - works localhost but not onlineは非オブジェクトのPHPのエラーのプロパティを取得しようとすると

この問題を解決する方法がわからない、それが基本だが、解決策を見つけることができません。 私はconnect.phpとuser.phpという2つのファイルを使用します。 connect.phpで

は、Connectクラスです:

class Connect{ 
var $logged; 
function login($username, $password){ 
    ..more code.. 
    if($pass==$password){ 
     $this->logged=true;  // db connection is fine, this works 
           // checked it with echo $this->logged; 
    } 
} 
} 

と私は別のファイルに、このようなuser.phpからそれを呼び出す:このコードは動作しないのはなぜ

$user=new Connect; 
$user->login(); 
echo $user->logged;  // ERROR Trying to get property of non-object 

が、オフライン(ローカル)で動作しますか?

+0

あなたのクラス定義は、 ''}が欠落しています。動作しないコードの例を投稿しないでください。 – hakre

+0

私はそれが重複した投稿であることを知っています。本当に申し訳ありません。私はこの問題はまったくありませんでしたが、本当に助けが必要です。 – phpEnthusiast

+0

@phpEnthusiast:あなたの最初の質問が、あなたが見たいと思っていた答えを得られなかったからです。ユーザーがあなたの質問に答えることができない理由をよく考えてください。 – hakre

答えて

2

あなたが問題をいくつ持っている:

  1. あなたは、PHPを使用して、オブジェクトのプロパティにアクセスしていると仮定している、いない機能$user->loginを呼び出します。方法を呼び出す$user->login()()に注意)が必要です。
  2. 例には}がありません。

デモ:

<?php 

class Connect{ 
    var $logged; 
    function login($username, $password){ 
     $pass = 'test'; 
     if($pass == $password){ 
      $this->logged = true; 
     } 
    } 
} 

$user = new Connect; 
$user->login('test','test'); 
print_r($user); 

?> 

​​

出力:

Connect Object 
(
    [logged] => 1 
) 

1は何trueプリントです。クラスの外からのクラスのプロパティにアクセスするには

+0

問題は私が[ログ] => 1ではなくエラーメッセージが表示されることです:非オブジェクトのプロパティを取得しようとしています – phpEnthusiast

+0

上記のコードではありません –

+0

私は推測していますそのエラーが発生したときは、オブジェクトの作成がうまくいかなかったためです(ファイルが作成されなかったか、変数の作成が間違っていたか、 'access_once'を' require_once'に変更し、エラー報告が有効になっていることを確認してください。現在のディレクトリにない 'Connect.php'に関連していると思います。 –

0

、あなたは「パブリック」としてそれを宣言する必要があります:

class Connect{ 
public $logged; 
+1

'var'の使用を非推奨にしたものは、http://www.nusphere.com/kb/phpmanual/language.oop.htmを参照してください。(単に' public'と書いてください) – hakre

+0

これは 'var'と同じです。それは遺産ですが、 'var'でそれをするのは間違いではありません。 –

+0

また、私はこのコードが "うまくいく"ことを知っています。なぜなら、ローカルではあるが、オンラインで実行しようとするとエラーが出る理由を知らないからです – phpEnthusiast

関連する問題