2017-10-14 12 views
2

私はPHPで簡単なサインアップシステムを作りようとしていました。 DBConnection.phpクラスを拡張するAdmin(内部コントローラフォルダ)というクラスがあります。 Adminクラスにはサインインを許可するためのサインアップメソッドがありますが、そこに問題があります。 'include_once(../ Database/DBConnection.php):ストリームを開けませんでした:C:\ xampp \ htdocs \ WoodlandsAway \ controller \ Admin.phpにそのようなファイルやディレクトリはありませんinclude_once():C:\ xamppにインクルードするための '../Database/DBConnection.php'(include_path = 'C:\ xampp \ php \ PEAR')のオープンに失敗しました。 \ htdocs \ WoodlandsAway \ controller \ Admin.php 15行目----- ' '致命的なエラー:クラス 'DBConnection'がC:\ xampp \ htdocs \ WoodlandsAway \ controller \ Admin.phpの17行目に見つかりません。ここ include_once():ストリームを開くことに失敗しました:そのようなファイルまたはディレクトリがありません - PHP

は私のinclude_onceコードです

include_once ('../Database/DBConnection.php'); 

And here is my folder structure

--DBConnection.php

class DBConnection { 
//put your code here 
private $host; 
private $user; 
private $pass; 
private $database; 
private $conn; 

function DBConnection() { 
    $this->host = 'localhost'; 
    $this->user = 'root'; 
    $this->pass = ''; 
    $this->database = 'woodlands_away'; 
} 

public function getConnections() { 
    $this->conn = new mysqli($this->host, $this->user, $this->pass, $this->database) or 
    die($this->conn->error); 

    return $this->conn; 
} 

}

そしてAdmin.php

include_once ('../Database/DBConnection.php'); 

class Admin extends DBConnection { 
public function Admin() { 
    parent::DBConnection(); 
} 

public function signup($username, $password) { 
    $sql = "insert into users values(".$username.", ".$password.")"; 

    return $this->getConnections()->query($sql); 
}} 
+0

あなたはあなたのディレクトリ構造で1つのディレクトリ構造を確認して、データベースフォルダが利用可能かどうかを確認することができます。 – Hkachhia

+0

'include_once(__DIR__。/../ Database/DBConnection.php ')' – HtmHell

+0

はadmin.phpでも何とか組み込まれていますか?または、そのファイルを直接呼び出していますか? – Jeff

答えて

1

まず、私はあなたがルートパスを表す定数を宣言することをお勧めあなたのプロジェクトのこの定数は、index.phpのか似ていますが、プロジェクトのルートにあるユニークな方法で宣言する必要があります。

define('PROJECT_ROOT_PATH', __DIR__); 

その後、あなたは、呼び出しは次のようになります必要があります含まれます:常に

include_once (PROJECT_ROOT_PATH . '/Database/DBConnection.php'); 

現在、あなたのコードはWorking directoryに依存している可能性がありますので、予期しない作業ディレクトリが発生する可能性があります。

関連する問題

 関連する問題