Сообщение сеанса не отображается

У меня есть файл php с именем settings_email.php, который имеет форму для пользователя, чтобы изменить его / ее адрес электронной почты, и когда пользователь нажимает кнопку отправки, он переходит во второй файл php с именем includes / changeemail.php для обновления таблицы, а затем отправляет ему / ей вернуться на ту же страницу с сообщением об успешном переносе идентификатора пользователя, поскольку его использует начальная страница. Тем не менее, сообщение не отображается, и обновление электронной почты выполнено успешно. Я что-нибудь неправильно использовал? Мне нужно добавить что-нибудь еще? Есть ли способ лучше?

settings_email.php

<?php
session_start();
include 'includes/dbh.inc.php';
if (isset($_SESSION['flash'])) {
    echo $_SESSION['flash'];
    unset($_SESSION['flash']);
}
<!DOCTYPE html>
<html lang="en">
<head>
....
</head>
<body>
....
</body>
</html>

включает / changeemail.php

<?php
session_start();
include 'dbh.inc.php';
if (isset($_POST['changeemail'])) {
    //Error Handlers
    if(){
        ....
    }else{
        $_SESSION['flash'] = 'Success';
        header("Location: ../settings_email.php?settingsemail=".$id );
        exit();
    }
}  

вам нужно эхо внутри тега body, а не за пределами тегов html

Raymond Nijland 11.04.2018 12:57

да, вы правы, большое вам спасибо и извините за потраченное время, я новичок в этом.

tommyq1999 11.04.2018 13:03
0
2
36
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Сделайте так: введите эхо в теге body и не забудьте добавить в php "?>".

<!DOCTYPE html>
<html lang="en">
<head>
....
</head>
<body>
<?php
session_start();
include 'includes/dbh.inc.php';
if (isset($_SESSION['flash'])) {
    echo $_SESSION['flash'];
    unset($_SESSION['flash']);
}
?>
</body>
</html>
session_start(); должен фактически быть первой строкой в ​​документе .. Или вы получите заголовки, которые уже отправили ошибку.
Raymond Nijland 11.04.2018 13:08

да, @RaymondNijland указал мне, что это должно быть отражено внутри тегов html. Тем не менее, спасибо за помощь

tommyq1999 11.04.2018 13:09

Другие вопросы по теме