Отображать div/span только после выполнения $_SERVER['HTTP_REFERER']
Я пытался подойти к этому множеством способов, но почему-то я не в состоянии понять это. Может вы, ребята, можете мне помочь?
Мне нужно отобразить определенный div/span или другой контейнер для отображения текста после того, как страница возвращается через
header('Location: ' . $_SERVER['HTTP_REFERER']);
Причина, по которой мне нужен такой странный подход для отображения чего-либо, заключается в том, что я использую комбинацию href/GET для запуска функции PHP, когда моя ссылка нажата. (кнопка отправки используется другой функцией / модулем, поэтому я не могу ее использовать)
HTML часть
<p id="show_project">
<a id="add_to_project" name="add_to_project" href="?function">
Add to project
</a>
</p>
PHP функция часть
$this->getProductinfo();
if (isset($_GET['function'])){
$this->getSQLQuery($_GET['function']);
header('Location: ' . $_SERVER['HTTP_REFERER']);
}
Есть идеи?
БР
1 ответ
Решение
Почему бы не добавить сообщение в ваш вызов header()
$this->getProductinfo();
if (isset($_GET['function'])){
$this->getSQLQuery($_GET['function']);
header('Location: ' . $_SERVER['HTTP_REFERER'].'?msg=We got a message');
}
Получить сообщение
<?php
session_start();
if (!empty($_GET['msg'])){
$_SESSION['msg'] = $_GET['msg'];
header('Location: ' . $_SERVER['HTTP_REFERER']);
die;
}
else{
if (!empty($_SESSION['msg'])){
$msg = $_SESSION['msg'];
unset($_SESSION['msg']);
}
}
?>
<?php
/* Later in the document */
echo '<div>' . $msg . '</div>';
?>
Вам нужно будет санировать и проверять переменную $_GET