2016-01-03 47 views
1

我目前正在做一個PHP腳本,我需要一些幫助。首先它允許用戶在名爲install.html的文件上輸入數據庫信息,該文件向用戶呈現一個表單。表單使用GET將該信息發送到第二個安裝文件,該文件創建相關表格,將信息輸入到表格中,然後允許用戶繼續執行腳本。全球PHP數據庫文件

但我想知道。在我使用的第二個安裝文件中:

$databaseServer = $_GET["databaseServer"]; 

爲了獲得輸入表單的信息。無論如何,我可以將這些變量($ databaseServer,$ databaseName,$ databaseUser,$ databasePassword)發送到另一個名爲db.php的文件,我將在每個需要SQL連接的文件的頂部包含這些文件。我查看了GLOBAL變量,但他們沒有正常工作。然而,我本可以做錯的事情。

+0

爲什麼不把它們存儲在一個會話?您無法從未收到GET/POST參數的頁面訪問GET/POST參數。 – drmarvelous

+0

啊是的!我會試一試,讓你知道! –

+0

另外,如果我可以開始一個會話,並訪問會話變量,那麼可能不需要任何db.php頁面?只需啓動會話並使用$ _SESSION [「databaseName」];或任何需要的地方。 –

回答

1

你可以配置陣列保存到文件:

<?php 

class Config 
{ 
    public $path; 

    public function __construct($path) 
    { 
     $this->path = $path; 
    } 

    public function store($config) 
    { 
     $dump = var_export($config, true); 
     $dump = '<?php return ' . $dump . ';'; 
     file_put_contents($this->path, $dump); 
    } 

    public function retrieve() 
    { 
     return include $this->path; 
    } 
} 

// Build your config array 
$config['database'] = $_GET['database']; 
$config['username'] = $_GET['username']; 

// Make sure your server can write to this path 
$configurator = new Config(__DIR__ . '/config/config.php'); 

// Save your config 
$configurator->store($config); 

// Get your config later 
$read_config = $configurator->retrieve(); 

// Check our config against the saved version 
assert($config == $read_config); 

var_dump($read_config);