Почему не видит сессию?
есть личная страница которая генерируется согласно ID сессии пользователя.
session_start();
error_reporting(E_ALL & ~E_NOTICE); //Убираем Notice, а все остальные ошибки выводим
require_once 'connection.php';
$dbh = new PDO('mysql:host=localhost; dbname=projectboard', $user, $pass);
$id = $_SESSION['id'];
$stmt = $dbh->prepare('SELECT name, lastname FROM users WHERE id = :id');
$stmt->bindParam(':id', $id);
$stmt->execute();
while($result = $stmt->fetch(PDO::FETCH_OBJ)){
$_SESSION['name'] = $result->name;
$_SESSION['lastname'] = $result->lastname;
echo $_SESSION['name'].' '.$_SESSION['lastname'];
}
Но когда пытаюсь сделать так, чтобы пользователь смог зайти на страницу другого пользователя
$officeID = $_GET['id'];
if($officeID == $_SESSION['id']){
while($result = $stmt->fetch(PDO::FETCH_OBJ)){
$_SESSION['name'] = $result->name;
$_SESSION['lastname'] = $result->lastname;
echo $_SESSION['name'].' '.$_SESSION['lastname'];
}
}else{
$stmt = $dbh->prepare('SELECT name, lastname FROM users WHERE id = :id');
$stmt->bindParam(':id', $officeID);
$stmt->execute();
while($result = $stmt->fetch(PDO::FETCH_OBJ)){
$_SESSION['name'] = $result->name;
$_SESSION['lastname'] = $result->lastname;
echo $_SESSION['name'].' '.$_SESSION['lastname'];
}
}
Всё хорошо работает, но как делаю запись в форме на странице, и отправляю её
<section>
<form action="office.php" method="post" class=".form"> <!--Action принимает файл, который обрабатывает поле формы ID и Class не работают-->
<input name="headline" type="text" placeholder="Дайте название Вашему проекту" required>
<textarea name="projectDescription" rows="10" wrap="soft" class="About" placeholder="Опишите Ваш проект" required></textarea>
<section class="comAndOffer">
<input name="communication" type="text" class="Communication" placeholder="Укажите как связаться с Вами" required>
<input name="offer" type="number" min="1" max="50" class="Offer" placeholder="%" required>
</section>
<input name="submit" type="submit" class="Button" placeholder="Опубликовать" required>
<button onclick="document.location='projects.php'">Другие проекты</button>
</form>
<?php
//Форма проекта
if (!empty($_POST)){
if ( !isset($_POST['headline']) || !isset($_POST['projectDescription']) || !isset($_POST['communication']) || !isset($_POST['offer'])) {
echo 'Заполните все поля';
die;
}
$headline = htmlspecialchars($_POST['headline']);
$projectDescription = htmlspecialchars($_POST['projectDescription']);
$communication = htmlspecialchars($_POST['communication']);
$offer = ($_POST['offer']);
$headline_t = trim($headline);
$projectDescription_t = trim($projectDescription);
$stmt = $dbh->prepare("INSERT INTO projects (headline, projectDescription, communication, userID, offer)
VALUES (:headline, :projectDescription, :communication, :userID, :offer)");
$stmt->bindParam(':headline', $headline_t);
$stmt->bindParam(':projectDescription', $projectDescription_t);
$stmt->bindParam(':communication', $communication);
$stmt->bindParam(':userID', $id);
$stmt->bindParam(':offer', $offer);
$stmt->execute();
}
?>
После отправки происходит перезагрузка страницы, где ничего не выводится, только шаблон страницы с пустыми полями, будто никакой сессии не существует.
Подскажите, где я напортачил? Так как код с проверкой пользователя на совпадение ID сессии и странички взят из головы.