Joan M Ответов: 2

Показать всплывающее сообщение (например, messagebox/alert) пользователю после того, как вызов функции PHP возвращает FALSE


Всем привет,

Я хотел бы показать сообщение пользователю, если возникли какие-либо проблемы при взаимодействии с базой данных...

Например, если я хочу удалить запись, но эта запись не может быть удалена из-за зависимостей... Я бы с удовольствием показал сообщение пользователю (что-то вроде messagebox /alert).

Все страницы, на которых я работаю, генерируются PHP.

Нынешняя структура такова:

1. на странице а я нажимаю ссылку (чтобы удалить запись базы данных), которая приводит меня на страницу В, где находится код удаления.
2. на странице B происходит удаление (вызов функции удаления, проверка результата) и переход обратно на страницу A.

То, что я уже сделал, работает, но хотелось бы знать, есть ли лучший способ:

1. при сбое функции (на странице в) Я устанавливаю переменную сеанса в сообщение, которое хочу показать:
if (deleteRecord()==FALSE) $_SESSION["myMessage"]="Deletion failed.";

2. На странице Я написал:
if ($_SESSION["myMessage"] != "")
{
  $myMessage= addslashes($_SESSION["myMessage"]);
  echo "<script type='text/javascript'>alert('$myMessage');</script>";
  unset($_SESSION["myMessage"]);
}
Есть ли лучший способ сделать это?

Большое вам спасибо за ваше время и помощь.

Что я уже пробовал:

Поискал в интернете, попытался поставить среднюю страницу с событием onload...

ZurdoDev

Я не занимаюсь php, но я думаю, что большинство начинающих учебников покажут вам, как это сделать.

Joan M

Мне бы очень хотелось, чтобы это было именно так...
PHP работает на стороне сервера, и поэтому очень сложно показать пользователю messagebox...
Я думал о разных способах, но все они включают событие щелчка, и я мог бы попытаться сохранить переменную сеанса (какую-то глобальную), а затем реагировать на эту переменную в событии onload следующей посещенной страницы, но мне это кажется громоздким... (И он не работал с переменными текстами).

В общем, веселимся.

ZurdoDev

Показать сообщение очень просто. Я думаю, что php использует echo. Если вы хотите всплывающее окно, то да, это еще не все.

Joan M

Вы правы! Я обновил свой вопрос, чтобы отразить, что мне нужно всплывающее окно (например, предупреждение).

MadMyche

Это настоящая страница генерируется с помощью PHP?

Joan M

Да, это так...

MadMyche

Тогда ваше решение в основном правильно - если эта переменная заполнена тревога скрипт

2 Ответов

Рейтинг:
1

Pratishkumar Kushwaha

Привет братан
Другой способ - использовать уведомление chrome.
Добавление Push-уведомлений в веб-приложение |  Основы Веба  |  Разработчики Google[^]


Joan M

Мне нужно решение, которое работает везде... но все равно спасибо.

Рейтинг:
0

Pratishkumar Kushwaha

$_SESSION["myMessage"] = "Hellow World";
if (isset($_SESSION["myMessage"]))
{
  $myMessage= addslashes($_SESSION["myMessage"]);
  echo "<script type='text/javascript'>alert('$myMessage');</script>";
  unset($_SESSION["myMessage"]);
}


Joan M

Почему это лучше, чем то, что я сделал?

Richard Deeming

Это не так - он идентичен коду, который вы разместили в вопросе.

Joan M

Да... Я хотел услышать объяснение от плаката... это было бы весело... ^^¡