繁体   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