所以这是我的代码.现在我如何在另一个文件中使用$ 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;
Run Code Online (Sandbox Code Playgroud)
这段代码也安全吗?我这样做了......还行不通.
包括您希望变量可在其中访问的文件,如此
include('somefile.php')
Run Code Online (Sandbox Code Playgroud)
并且在该文件的顶部你可能需要输入[取决于服务器配置]
global $pubname
Run Code Online (Sandbox Code Playgroud)
但在大多数情况下,您不需要这样做.
在关于安全性,这取决于如何$pubname
设置,您的查询可能会或可能不会是容易sql injection.
注意:对于include()
文件还有其他方法,例如include_once()
,require()
和require_once()
,来自php.net:
以下文档也适用于require().除了如何处理失败之外,这两种结构在各方面都是相同的.include()产生警告,而require()导致致命错误.换句话说,如果您希望丢失文件来暂停页面处理,请使用require().include()不会以这种方式运行,脚本将继续运行.一定要有一个合适的include_path设置.请注意,在PHP 4.3.5之前的PHP版本中,所需文件中的解析错误不会导致处理暂停.从这个版本开始,它确实如此.