簡體   English   中英

將PHP中的變量從一個文件傳遞到另一個文件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM