PHP文件没有通过include()相互通信

时间:2017-11-07 15:57:46

标签: php

我似乎无法让我的文件在php中与include()共享变量。

继承人的情景......

你可以在file1.php中看到我声明了一个变量。然后我尝试在file2.php中使用这个相同的变量来计算一个总和但是它没有识别变量$a,即使我包含了两个文件。为什么会这样?

file1.php

<?php

$a = 1;

?>

file2.php

<?php

function dosomething() {
    $b = $a * 2
}

?>

file.3php

<?php
include ("file1.php"); 
include ("file2.php"); 
?>

2 个答案:

答案 0 :(得分:2)

问题是你试图在函数中使用变量$sql_connection,它在外部初始化/声明;即你有范围问题!

在此处阅读:http://php.net/manual/en/language.variables.scope.php

溶液;

A。$sql_connection传递给函数调用,如下所示:check_if_logged_in($sql_connection)

B。使用global例如

function check_if_logged_in() {
    global $sql_connection;
    $sqlquery = mysqli_query($sql_connection, ...
}

P.S。虽然选项 B 有效;不建议使用它,因为它被认为是不好的实践;见Are global variables in PHP considered bad practice? If so, why?

答案 1 :(得分:0)

你需要传递参数。

function check_if_logged_in($sql_connection) {
$sqlquery = mysqli_query($sql_connection, ...

所以

check_if_logged_in($sql_connection);
相关问题