Теряется сессия при переходе по ссылке
Написал страницу, которая после регистрации отправляет на почту письмо, где находится ссылка с подтверждением этой самой почты на моём сайте.
Но вот проблема, не работает страница подтверждения. Теряется сессия.
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. Хотя при регистрации все сессии создаются, и человек получает письмо, ссылка в котором открывает другую страницу и запускает сессию.