在脚本之间传递PHP变量
我在这方面有困难,所以我在谷歌上搜索了一下,也在这里读了一些东西。最后,我尝试了W3网站的两个小摘录,分别在Z1.php和Z2.php文件中,如下所示: Z1在脚本之间传递PHP变量,php,variables,scripting,Php,Variables,Scripting,我在这方面有困难,所以我在谷歌上搜索了一下,也在这里读了一些东西。最后,我尝试了W3网站的两个小摘录,分别在Z1.php和Z2.php文件中,如下所示: Z1 我在这行中加入了Z2-Z2是: <?php session_start(); (note: I tried with and without this) ?> <html> <body> <?php // Echo session variables that were set on pre
我在这行中加入了Z2-Z2是:
<?php
session_start(); (note: I tried with and without this)
?>
<html>
<body>
<?php
// Echo session variables that were set on previous page
echo "Favorite color is " . $_SESSION["favcolor"] . ".<br>";
echo "Favorite animal is " . $_SESSION["favanimal"] . ".";
?>
</body>
</html>
我把这些都放进Zend,然后得到,作为输出
最喜欢的颜色是。最喜欢的动物是 我需要它来让我能够使用phpqrcode,它说关于调用QR码:“警告!它应该是第一个也是唯一一个由脚本生成的输出,否则其余的输出将进入PNG二进制文件,肯定会破坏它”,当然,它确实会这样做。所以我认为应该有两个脚本 我以前从未尝试过在脚本之间传递变量,因此希望您能对我的尝试给予批判性的关注,以理解此方法并使我走上正确的道路
Paul您在这里面临的问题是在第一个文件中包含
z2.php
脚本。现在想象一下include
就像第二个脚本中复制并粘贴的php
代码一样。您应该启动会话
,以获得变量的挂起状态,但在创建变量之前尝试回显它们。在定义了会话
变量之后,尝试包含z2.php
,看看它是如何工作的
简单地说,试着去掉任何包含的。你从学校拿的。只需像您那样创建两个单独的文件。调用session\u start()
并创建session
变量,尝试显式访问另一个文件,看看是否可以访问它们
从—
包含文件时,它包含的代码将继承包含文件所在行的变量范围。从该点开始,调用文件中该行可用的任何变量都将在被调用文件中可用。但是,包含文件中定义的所有函数和类都具有全局作用域
当您像以前那样在另一个脚本中包含一个脚本时,实际上并不是在传递会话变量。事实上,您所做的一切都可以在根本不使用会话的情况下实现
//foo.php
<?php
$color = 'green';
$fruit = 'apple';
?>
//bar.php
<?php
echo "A $color $fruit"; // A
include 'foo.php';
echo "A $color $fruit"; // A green apple
?>
希望这能让您从正确的方向开始。感谢您的明确回答。在你的帮助下,我了解了更多(并且让我的脚本做了我想做的!)
//foo.php
<?php
$color = 'green';
$fruit = 'apple';
?>
//bar.php
<?php
echo "A $color $fruit"; // A
include 'foo.php';
echo "A $color $fruit"; // A green apple
?>
header("Location: z2.php");
die();