php文件之间的变量

Posted

技术标签:

【中文标题】php文件之间的变量【英文标题】:Variable between php files 【发布时间】:2014-03-07 07:26:35 【问题描述】:

在有人指出我的代码在安全性或其他方面存在缺陷之前,我知道我是一个 php 菜鸟,并且不介意您转发一些帮助来解决这个问题,而不是仅仅大喊它很糟糕。

我也在下面尝试过,但它对我不起作用,因为它将它存储到会话中(除非会话比我想象的更安全。我假设用户可以从中提取数据,对吗?): http://tinyurl.com/myqx3xo

至于我的问题,我如何能够在我的用户函数中访问变量 $connectdb?当我这样做时,它给了我“未定义的变量”错误,并且没有检测到它是否存在。两者都是在每个页面加载的main\folder\start.php 中的要求,在这些页面上我试图调用该函数,但它给了我失败。当我尝试将 $connectdb 的变量硬编码到函数中时,代码运行良好,但同样有充分的理由不这样做。如果需要,将添加其他详细信息。

未定义变量:main\folder\folder1\users.php 中以 $data 开头的行中的 connectdb

ma​​in\folder\folder1\users.php 函数:

function user_data($id) 
    $data = array();
    $user_id = (int)$id;
    $func_num_args = func_num_args();
    $func_get_args = func_get_args();
    if ($func_num_args > 1) 
        unset($func_get_args[0]);
        $fields = '' . implode(', ', $func_get_args) . '';
        $data = mysqli_fetch_assoc(mysqli_query($connectdb,"SELECT $fields FROM users WHERE id = $id"));
        return $data;
    

ma​​in\folder\folder2\connect.php:

<?php
$connect_fail = 'Example connection failure.';

$dbhost = 'host';
$dbuser = 'user';
$dbpass = 'pass';
$db     = 'database';
$connectdb = mysqli_connect($dbhost, $dbuser, $dbpass, $db) or die($connect_fail);
?>

【问题讨论】:

您是否将 connect.php 包含到您的 users.php 文件中 没有?我想我试过了,但没有用。 include("connect.php") 文件比尝试。 @Darkaaja 检查我的答案 【参考方案1】:

将你的 connect.php 包含到你的 user.php 中

include('../fodler2/connect.php');

function user_data($id) 
    $data = array();
    $user_id = (int)$id;
    $func_num_args = func_num_args();
    $func_get_args = func_get_args();
    if ($func_num_args > 1) 
        unset($func_get_args[0]);
        $fields = '' . implode(', ', $func_get_args) . '';
        $data = mysqli_fetch_assoc(mysqli_query($connectdb,"SELECT $fields FROM users WHERE id = $id"));
        return $data;
    

【讨论】:

警告:include(../folder2/connect.php):打开流失败。当我尝试这样做时会发生...... :(【参考方案2】:

在你需要添加的 users.php 文件中

include "../folder2/connect.php";

【讨论】:

以上是关于php文件之间的变量的主要内容,如果未能解决你的问题,请参考以下文章

在Drupal 7中的页面之间传递变量

PHP 基础语法 常量 变量

如何使用包含的 php 文件中的 php 变量

php基础-1

从 .php 发送/获取变量到 .php

如何在变量中执行和获取 .php 文件的内容?