Я, вероятно, иду по этому пути совершенно неправильно, но вот где я нахожусь. У меня есть страница с именем adminquery. php и на ней есть форма. Когда эта форма отправляется, она вызывает файл с именем adduser. php Эта страница пытается добавить пользователя, отправленного POST, в базу данных и отправляет обратно одно из двух сообщений (добавленных или обновленных), которые должны отображаться в запросе администратора. php page.
if ($row[0] == 1)
{
//update
$_SESSION['errMsg'] = "user updated";
}
else
{
//add
$_SESSION['errMsg'] = "user added";
}
header("Location: adminquery.php");
die();
adminquery. php отображает сообщение
if(isset($_SESSION['errMsg'])){
echo "<p>".$_SESSION['errMsg']."</p>";
}
Пока все хорошо. Однако, когда я перезагружаю adminquery. php или обращаюсь к нему с другой страницы, я хочу, чтобы он не отображал это сообщение _SESSION, которое больше не применимо.
Поэтому я решил проверить исходную страницу при загрузке adminquery . php и, если к нему не обращались из adduser. php Я бы очистил сообщение
$referringSite = $_SERVER['HTTP_REFERER'];
if (strpos($referringSite, 'adduser') == false) {
//$_SESSION['errMsg'] = $referringSite;
$_SESSION['errMsg'] = "";
}
Закомментированная строка используется для проверки ссылающейся страницы и отображает запрос администратора. php как ссылающаяся страница, а не adduser. php (которая была вызвана, но не отображена). Похоже, если страница не была отображена или элемент на ней не щелкнул, чтобы снова открыть запрос администратора. php что он не распознается как ссылающаяся страница.
Есть ли какое-то более простое решение, которого я не вижу?