2014-02-10 23 views
0

在任何人指出我的代碼在安全方面存在缺陷或知道之前,我知道我是一個PHP noob,並不介意轉發一些幫助來解決這個問題,而不僅僅是大吼它是可怕的。php文件之間的變量

而且我也嘗試下面這一點,因爲它存儲它不會爲我工作到會話(除非會議是比我想象的更安全我認爲用戶可以從一個提取數據,是否正確?): http://tinyurl.com/myqx3xo

至於我的問題,我將如何能夠訪問我的用戶函數中的變量$ connectdb?當我這樣做時,它給了我'未定義的變量'錯誤,並沒有檢測到它存在。這兩個都需要在每頁加載的main\folder\start.php中,並且在那些我嘗試調用該函數的頁面上,它給了我一個失敗。當我嘗試將$ connectdb的變量硬編碼到函數中時,代碼工作正常,但又有很好的理由不這樣做。如果需要,將添加額外的細節。

未定義的變量:connectdb主\文件夾\文件夾1 \ users.php上以$數據開始行

主\文件夾\文件夾1 \ users.php功能:

function user_data($id) { 
    $data = array(); 
    $user_id = (int)$id; 
    $func_num_args = func_num_args(); 
    $func_get_args = func_get_args(); 
    if ($func_num_args > 1) { 
     unset($func_get_args[0]); 
     $fields = '' . implode(', ', $func_get_args) . ''; 
     $data = mysqli_fetch_assoc(mysqli_query($connectdb,"SELECT $fields FROM users WHERE id = $id")); 
     return $data; 
    } 
} 

主\文件夾\文件夾2 \ connect.php:

<?php 
$connect_fail = 'Example connection failure.'; 

$dbhost = 'host'; 
$dbuser = 'user'; 
$dbpass = 'pass'; 
$db  = 'database'; 
$connectdb = mysqli_connect($dbhost, $dbuser, $dbpass, $db) or die($connect_fail); 
?> 
+3

你包括connect.php到您users.php文件 –

+0

沒有?我想我試過了,但沒有奏效。包括(「connect.php」)文件比嘗試 – Darkaaja

+0

。 – user12

回答

0
在users.php文件

你需要添加

include "../folder2/connect.php"; 
1

包括您connect.php到您的user.php的

include('../fodler2/connect.php'); 

function user_data($id) { 
    $data = array(); 
    $user_id = (int)$id; 
    $func_num_args = func_num_args(); 
    $func_get_args = func_get_args(); 
    if ($func_num_args > 1) { 
     unset($func_get_args[0]); 
     $fields = '' . implode(', ', $func_get_args) . ''; 
     $data = mysqli_fetch_assoc(mysqli_query($connectdb,"SELECT $fields FROM users WHERE id = $id")); 
     return $data; 
    } 
} 
+0

警告:include(../ folder2/connect.php):無法打開流。 ( – Darkaaja

+0

)給我正確的文件夾路徑。 –