如何在PHP中使用require()传递变量

时间:2017-07-06 17:39:35

标签: php

我试图使用a.php在两个PHP文件b.phprequire()之间传递变量。我了解到PHP变量只有一个范围,这意味着如果a.php包含b.php,它可以读取其变量。但是,我希望b.php能够使用我当前的设置从a.php读取变量。例如,如果$msg设置b.phpa.php设置a.php,我可以打印出<?php $msg = "Welcome NEW USER ! We can't wait for you to check out our books!"; require("connect.php"); require("b.php"); $table = "SELECT * FROM `login`"; if ($query_run=mysqli_query($cnn,$table)){ $username = $_POST['username']; $pw = $_POST['password']; $sql = "INSERT INTO login (username,password) VALUES ('{$username}','{$pw}')"; if($cnn->query($sql)===TRUE){echo "Query ran successfully";} else{echo "Error: ".$sql."<br>".$cnn->error;} } else{die("table connection failed");} $cnn.close(); ?> 。有一种简单的方法可以做到这一点吗?

b.php

<?php
echo "<h1>".$msg."</h1>
<form action='' method='post'>
Username: <input type='text' name='username'><br>
Password: <input type='text' name='password'><br>
<input type='submit' name='submit'>
</form>
"


?>

Python

Settings | Editor | Color Scheme | Python | Keyword argument

4 个答案:

答案 0 :(得分:0)

使用$ _SESSION将允许您在不同文件之间传递data

a.php

中的

$_SESSION['myName'] = "John";
b.php

中的

echo $_SESSION['myName']

答案 1 :(得分:0)

我不确定您的问题是什么,但您的示例应该有效。这绝对有效:

a.php

<?php
$from_a = 'hey';
require "b.php";
print $from_b;

b.php

print $from_a;
$from_b = 'okay';

以上是完全有效的PHP,可以按预期工作,没有错误。另一个脚本所需的脚本可以完全访问其变量,反之亦然。

答案 2 :(得分:0)

如果您要求无限循环,请在每个文件中尝试require_once。 但最好的解决方案是创建第三个文件,如c.php,并在其中包含b.php和a.php

答案 3 :(得分:0)

  

&#34;这意味着如果a.php包含b.php,它可以读取其变量。&#34;

我认为这个概念略有不同。当您调用语言构造require时,它将读取并包含指定的文件,就好像它是在调用文件本身中编写的那样

所以这个:

<?php

// File a.php
$somevar = 6;
require "b.php";

?>
<?php

// File b.php
echo $somevar;

?>

实际上与

相同
<?php

// File a.php
$somevar = 6;

// File b.php
echo $somevar;

?>