问题描述
|
当我发布表单数据时:
<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\"
?>
如何将变量传递到另一页?
解决方法
您将必须使用会话使变量在这样的文件之间浮动。
设置非常简单。在每个PHP文件的开头,添加以下代码以开始会话:
session_start();
您可以像这样在会话中存储变量:
$_SESSION[\'foo\'] = \'bar\';
您可以跨页面引用它们(确保在将使用会话的所有页面上都运行session_start()
)。
, layouts.php
<?php
session_start();
$bgcolor = $_POST[\'bgcolor\'];
$_SESSION[\'bgcolor\'] = $bgcolor;
?>
new.php
<?php
session_start();
echo $_SESSION[\'bgcolor\'];
?>
, 给表格两个action=\"\"
,看看会发生什么。我只是在我的脚本上尝试过,效果很好。
可能存在解决此问题的更合适的方法,但这是一个选择。