Теряется сессия при переходе по ссылке

Написал страницу, которая после регистрации отправляет на почту письмо, где находится ссылка с подтверждением этой самой почты на моём сайте.

Но вот проблема, не работает страница подтверждения. Теряется сессия.

session_start();

error_reporting(E_ALL & ~E_NOTICE);//Убираем Notice, а все остальные ошибки выводим

require_once 'connection.php';

$dbh = new PDO('mysql:host=localhost; dbname=dbname', $user, $pass);

$id = $_SESSION['id'];

//var_dump($id);

$stmt = $dbh->prepare('SELECT code FROM users WHERE id = :id');
$stmt->bindParam(':id', $id);
$stmt->execute();

while($result = $stmt->fetch(PDO::FETCH_OBJ)){
    $_SESSION['code'] = $result->code;
}

if($stmt->rowCount() == 0){
    header ('Location: error404.html');
    exit;
}

if($_SESSION['code'] == $_GET['code']){
    $stmt = $dbh->prepare('UPDATE users SET `Activation` = 1 WHERE users.ID = :id');
    $stmt->bindParam(':id', $id);
    $stmt->execute();
}else{
    header('Location: error404.html');
}

Проверяю, что лежит в переменной ID, лежит NULL. Хотя при регистрации все сессии создаются, и человек получает письмо, ссылка в котором открывает другую страницу и запускает сессию.


Ответы (0 шт):