I have odd problem with session value. Here is my code:
<?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();
}
}
What it does is this: it checks if all form fields are filled propperly (class karte), my class returns array $data[0][0]
that contains erros and $data[0][1]
with proper values. Then I set all data from array [0][1]
to $_SESSION
, and if I var_dump()
that session it's all there. Problem is after redirect. my $_SESSION
is empty for some reason on second page.
On second page i have this code:
session_start();
if(empty($_SESSION['form_sub_data'])){header("Location: ".SERVER."");}
Now problem gets even more strange. Second page recives empty $_SESSION
, it returns me to previous page, but when i fill form again. It all works as intended.