为什么会话值为空?

时间:2014-02-19 18:57:25

标签: php session-variables

我的会话值有些奇怪。这是我的代码:

      <?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,它将我返回到上一页,但是当我再次填写表单时。这一切都按预期工作。

0 个答案:

没有答案