Вопрос немного расплывчатый, но если я правильно понимаю, вы хотите перезагрузить страницу index.php после успешного входа.
if(!isset($_SESSION['id'])) {
if($_POST['action'] == true) {
$result = $member->login($_POST);
if($result) {
$_SESSION['id'] = $result;
echo $_SESSION['id'];
} else {
return false;
}
}
Если я не ошибаюсь, этот фрагмент кода проверяет, вошел ли пользователь в систему. Если нет, вы проверяете, выдавала ли предыдущая страница Jquery «действие» (которое я предполагаю, является входом в систему) или 'регистрация' (я предполагаю, что это создание новой учетной записи).
В этом случае, если выбрано 'действие', вы проверяете, существует ли пользователь ($ result = $ member-> login ($ _ POST);) и, если он существует, вы создаете идентификатор сеанса, а индекс - страница должна показать профиль.
Поскольку $ _SESSION ['id'] был назначен только после загрузки страницы, он не проверяет, был ли $ _SESSION ['id'] назначен снова. Таким образом, вы должны перезагрузить страницу, чтобы сделать это:
if(!isset($_SESSION['id'])) {
if($_POST['action'] == true) {
$result = $member->login($_POST);
if($result) {
$_SESSION['id'] = $result;
echo $_SESSION['id'];
header("Location: index.php");
} else {
return false;
}
}
Теперь он будет снова вызывать index.php, он проходит после части if (! Isset ($ _ SESSION ['id'])), так как на этот раз сеанс создан, и к коду (которого еще нет присутствует здесь?), который позаботится о профиле.
Я должен предположить, что здесь немного, но скажите мне, насколько я близко.
PS:
if($_POST['action'] == true)
и
if($_POST['signup'] == 'true')
Если у вас есть истина без кавычек, один раз с. Я думаю, вы просто хотите проверить, какой из них установлен? Этого будет достаточно:
if(isset($_POST['signup']))
и
if(isset($_POST['action']))
Делает код более согласованным и менее подверженным ошибкам.