POST变量不会在页面之间保持不变

时间:2017-06-15 22:13:09

标签: php post

我正在尝试在自动php进程的连续页面之间传递变量。因为这是自动化的,我尝试在前一页中设置这样的变量:

$_POST['index1'] = $variable1;
$_POST['index2'] = $variable2;
$_POST['index3'] = $variable3
$_POST['index4'] = "hard coded string";

我也有警告声明在前一页打印出这些值,只是为了确保它们已经设置好了。但是当我移动到下一页并尝试访问这些变量时,我得到所有这些变量的未定义索引错误。从一个页面到另一个页面的变量发生了什么,它们没有按预期传递?

1 个答案:

答案 0 :(得分:-1)

由于信息敏感,请尝试以下操作。

在连接到此函数的每个PHP页面的非常非常非常顶部添加:

<?    
session_start();
?>

确保没有其他内容,没有HTML,没有任何东西!否则它会弄乱你要做的任何事情。

在您最初设置$_POST变量的页面上执行以下操作:

$_SESSION["variable1"] = "You";
$_SESSION["variable2"] = "Shall";
$_SESSION["variable3"] = "Not";
$_SESSION["variable4"] = "Pass";

您可以更改&#34;变量1&#34;,&#34;变量2&#34;以及你喜欢的所有价值观。

在您所包含的任何页面上

<?    
session_start();
?>

现在可以通过echo来调用echo / print / assign你之前设置的每个$ _SESSION变量:

echo $_SESSION['variable1'];

这会产生以下结果:&#34;你&#34;

这是一种更安全的数据传输方式(但是,除非您使用HTTPS,否则会话仍可能被劫持)。

每当您使用完数据后,只需使用session_unset();session_destroy();

取消设置每个$ _SESSION变量即可

我希望这有帮助!