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