2011-07-18 7 views
2

私はPHPスクリプトを持って、印刷されることはありませんuser.phpは一度スクリプト

<?php 
class User { 
    private $data = array(); 

    public function __set($name, $value) { 
     $this->data[$name] = $value; 
    } 

    public function __get($name) { 
     if (array_key_exists($name, $this->data)) { 
      return $this->data[$name]; 
     } 

     $trace = debug_backtrace(); 
     trigger_error(
      'Undefined property via __get(): ' . $name . 
      ' in ' . $trace[0]['file'] . 
      ' on line ' . $trace[0]['line'], 
      E_USER_NOTICE); 
     return null; 
    } 

    public function __isset($name) { 
     return isset($this->data[$name]); 
    } 

    public function __unset($name) { 
     unset($this->data[$name]); 
    } 

    public __construct($param) { 
     if(is_array($param)) $this->create($param); 
     else $this->id($param); 
    } 

    private id($id) { //select from database 
     require_once('config.php'); 

     $pdo = new PDOConfig(); 

     $sql = "SELECT * FROM users WHERE `id` = :id"; 

     $q = $pdo->prepare($sql); 
     $q->execute(array(":id"=>$id)); 
     $resp = $q->fetchAll(); 

     foreach ($resp as $row) { 
      foreach ($row as $key=>$value) { 
       if(!is_int($key)) 
        $this->data[$key] = html_entity_decode($value, ENT_QUOTES); 
      } 
     } 

     $pdo = null; 
     unset($pdo); 
    } 

    private create($arr) { //create new item from values in array and insert to db 

    } 

    public delete() { 
     $this->life = 0; 
     //update database "life" here 
    } 

    /* ##################################### */ 
    /* !Functions       */ 
    /* ##################################### */ 

    public projects($extra = null) { 
     $projects = array(); 
     require_once('project.php'); 

     $pdo = new PDOConfig(); 

     $sql = "SELECT * FROM ---- WHERE `000` = :aaa"; 

     if($extra) $sql .= " " . $extra; 

     $q = $pdo->prepare($sql); 
     $q->execute(array(":aaa"=>$this->id)); 
     $resp = $q->fetchAll(); 

     foreach ($resp as $row) { 
       $project = new Project($row['id']); 
       $projects[] = $project; 

       $project = null; 
       unset($project); 
     } 

     return $projects; 
    } 

} 
?> 

やテストの内容を

<?php 
    require_once("classes/user.php"); 
    echo "test"; 
?> 

を内容を持っており、ここにあるtest.phpをは停止して必要とし、クロムにページがまったく読み込まれない

http://example.com/test.phpを検索中にウェブサイトでエラーが発生しました。メンテナンスのために停止しているか、または正しく構成されていない

私の人生のためにこれを理解することはできません。おかげで、それは

+1

てみてくださいました。あなたのスクリプトの先頭に。新しいエラーメッセージが出ますか? – Nick

+0

Chromeでソースを表示します。短いエラーメッセージの場合、Chromeはあなたを隠し、デフォルトのエラーメッセージを表示します。迷惑な "機能"。 – ceejayoz

+1

@ceejayoz HTTPエラー500(内部サーバーエラー):サーバーがリクエストを実行しようとしている間に予期しない状態が発生しました。エラー報告に新しいものは何も表示されませんでした。 – willium

答えて

7

を進めるあなたの__construct()メソッドの宣言に構文エラーがあります。

public __construct($param) { 
    if(is_array($param)) $this->create($param); 
    else $this->id($param); 
} 

あなたはこのように、functionキーワードを使用する必要があります見つけること

public function __construct($param) { 
    if(is_array($param)) $this->create($param); 
    else $this->id($param); 
} 


これらのエラーは、開発用コンピュータで有効にする必要があります。

、私はちょうど.phpファイルにコードを貼り付け、コピーし、それを実行した - とのerror_reporting(E_ALL)を追加する素敵

Parse error: syntax error, unexpected T_STRING, expecting T_VARIABLE 
    in /home/.../temp/temp.php on line 39 
+0

あなたは神です。これは、週末のほとんどのために私を怒らせている。私はそれが簡単であることを知っていた、今私は自分自身をPHP開発者と呼ぶための不名誉のように感じる。 :)良い仕事を続けてください。 – willium

+0

次回は*(まあ、実際にはいつも、開発中です;-))*エラー報告を有効にします;-) –

+0

はそれを感謝して行います。 :) – willium