[英]Passing variables in PHP from one file to another
這就是我的代碼。 現在如何在另一個文件中使用$ pubname。
mysqli_select_db($connect,"membership");
$retname = "select username from users where email='$globalname' limit 1";
$rn = mysqli_query($connect,$retname) or die(mysqli_error($connect));
$name = mysqli_fetch_array($rn);
//connecting for mathcing username with fullname and displaying it
$pubname = mysqli_real_escape_string($name['username']);
include('profile.php');
echo $pubname;
這段代碼也安全嗎? 我這樣做了……還行不通。
包括您希望在其中訪問變量的文件,如下所示
include('somefile.php')
在該文件的頂部, 您可能需要添加類似[取決於服務器配置]的內容
global $pubname
但是在大多數情況下,您不需要這樣做。
關於安全性,取決於$pubname
的設置方式,您的查詢可能會或可能不會很容易進行sql injection.
注意:還有其他include()
文件的方法,例如php.net中的 include_once()
, require()
和require_once()
:
以下文檔也適用於require()。 兩種構造在各個方面都相同,除了它們如何處理故障。 include()會產生警告,而require()會導致致命錯誤。 換句話說,如果您想要丟失的文件來停止頁面處理,請使用require()。 include()不會這樣,腳本將繼續運行。 確保還具有適當的include_path設置。 請注意,所需文件中的解析錯誤不會導致PHP 4.3.5之前的PHP版本中的處理暫停。 從這個版本開始,它就可以。
要在另一個腳本中使用$pubname
,請將其保留為全局變量。 您不需要回顯它。 (警告:全局變量應謹慎使用,最好將其集中到一個數組中。)
就安全性而言:在使用它之前,應mysqli_real_escape_string
在$globalname
上使用mysqli_real_escape_string
。 並且僅在在下一個查詢中使用$pubname
之前轉義。 現在看來,您正在對輸出進行不必要的編碼,但是卻忘記了對輸入進行轉義_escape_string
實際上是要使用的。
在其他文件中使用pubname
。 首先,您必須包括設置/創建pubname
的文件。
然后使用include()
或require()
函數進行調用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.