PHP,从另一个php文件获取变量

Car*_*rth 24 php

所以我想知道当在多个php文件中使用变量名时,是否有可能从特定的php文件中获取变量.一个例子是:

<header>
 <title>
  <?php echo $var1; ?>
 </title>
</header>
Run Code Online (Sandbox Code Playgroud)

page1.php有$var1 = 'page1' page2.php有$var1 = 'page2'

footer.php应该有 <a href="">$var1 from page1</a><a href="">$var1 from page2</a>

好吧,这个例子有点抽象,但我可以尽量做到.我想你得到了我得到的东西!所以这是我追求的页脚!有解决方案吗?

Way*_*tty 65

你可以,但你最后一个include中的变量将覆盖你的第一个变量:

myfile.php

$var = 'test';
Run Code Online (Sandbox Code Playgroud)

mysecondfile.php

$var = 'tester';
Run Code Online (Sandbox Code Playgroud)

test.php的

include 'myfile.php';
echo $var;

include 'mysecondfile.php';
echo $var;
Run Code Online (Sandbox Code Playgroud)

输出:

测试

测试仪

我建议使用不同的变量名称.

  • 好吧,我试图在两个不同的位置回显相同的文本,一个位于实际页面内,另一个位于通用页脚(footer.php)上。基本上我使用变量来轻松更新! (2认同)

Chr*_*ris 34

您还可以使用会话传递少量信息.你需要有session_start(); 在使用会话的PHP页面的顶部,其他变量将不可访问

page1.php中

<?php

   session_start();
   $_SESSION['superhero'] = "batman";

?>
<a href="page2.php" title="">Go to the other page</a>
Run Code Online (Sandbox Code Playgroud)

使page2.php

<?php 

   session_start(); // this NEEDS TO BE AT THE TOP of the page before any output etc
   echo $_SESSION['superhero'];

?>
Run Code Online (Sandbox Code Playgroud)

  • 它需要首先访问“page1.php”。使用会话作为伪全局命名空间可能会变得非常痛苦。 (3认同)
  • 我真的不明白为什么这会降低选票.它是OP可能没有考虑的包含的完全有效的替代方案 (2认同)

Moh*_*dav 5

include 'page1.php'在第二页中使用是一种选择,但它会产生未定义变量的警告和错误。
您可以在另一个 php 文件中使用一个 php 文件的变量的三种方法:

  • 使用会话将变量从一个页面传递到另一种
    方法:
    首先,您必须使用 php 命令在两个文件中启动会话

    session_start();
    然后在第一个文件中考虑你有一个变量
    $x='var1' ;

    现在使用此将 $x 的值分配给会话变量:
    $_SESSION['var']=$x;
    现在在任何另一个 php 文件中获取值:
    $y=$_SESSION['var'];//$y 是任何声明的变量

  • 使用 get 方法并在单击链接方法时获取变量

    <a href="page2.php?variable1=value1&variable2=value2">clickme</a>
    通过 $_GET 函数获取 page2.php 文件中的值:
    $x=$_GET['variable1'];//value1 be stored in $x
    $y=$_GET['variable2'];//vale2 be stored in $y

  • 如果你想使用按钮传递变量值,那么你可以通过以下方法使用它:

    $x='value1'
    <input type="submit" name='btn1' value='.$x.'/>
    在第二个 php
    $var=$_POST['btn1'];