我的会话值有些奇怪。这是我的代码:
<?php
session_start();
if ((isset($_POST['potvrda'])) && ($_POST['potvrda'] === "potvrda")){
$karte = new karte($cijene[0]['jednosmjerna'], $cijene[0]['dnevna'], $cijene[0]['rijeka_jedna'], $cijene[0]['rijeka_pov'], $db);
$data = $karte->validate_form();
$_SESSION['form_sub_data'] = array (
'datum' => $data[0][1]['date'],
'povratak' => $data[0][1]['datum_pov'],
'ime' => $data[0][1]['name']);
if((empty($data[0][0])) && (!empty($_SESSION['form_sub_data']))){
header("Location: " .SERVER ."purchase");
die();
}
}
它的作用是:它检查所有表单字段是否正确填充(类karte),我的类返回包含错误的数组$data[0][0]
和具有适当值的$data[0][1]
。然后我将数组[0][1]
中的所有数据设置为$_SESSION
,如果我var_dump()
那个会话就在那里。问题出在重定向之后。由于某种原因,我的$_SESSION
在第二页上是空的。
在第二页上我有这段代码:
session_start();
if(empty($_SESSION['form_sub_data'])){header("Location: ".SERVER."");}
现在问题变得更加奇怪了。第二页显示为空$_SESSION
,它将我返回到上一页,但是当我再次填写表单时。这一切都按预期工作。