当我发布表单数据时:
<form action="layouts.php" method="post">
<input type="text" name="bgcolor">
<input type="submit" value="Submit" align="middle">
</form>
到一个php页面,“layouts.php”,它返回字符串,如预期的那样:
$bgcolor = $_POST['bgcolor'];
echo $bgcolor; //returns "red"
echo gettype($bgcolor); // returns "string"
但是当我在另一个页面中包含“layouts.php”时,它返回NULL。
<?php
include("php/layouts.php");
echo $bgcolor; //
echo gettype($bgcolor); //returns "NULL"
?>
如何将变量传递到另一个页面?
答案 0 :(得分:4)
你必须使用一个会话让变量在这些文件之间浮动。
设置起来非常简单。在每个PHP文件的开头,添加此代码以开始会话:
session_start();
您可以在会话中存储变量,如下所示:
$_SESSION['foo'] = 'bar';
您可以跨页面引用它们(确保在将使用会话的所有页面上运行session_start()
。)
答案 1 :(得分:2)
<强> layouts.php 强>
<?php
session_start();
$bgcolor = $_POST['bgcolor'];
$_SESSION['bgcolor'] = $bgcolor;
?>
<强> new.php 强>
<?php
session_start();
echo $_SESSION['bgcolor'];
?>
答案 2 :(得分:0)
将表格提交为action=""
,看看会发生什么。我只是在我的剧本上尝试过,它运行良好。
可能存在一种更合适的解决方法,但这是一种选择。