Php вопрос да нет

Как остановить PHP скрипт и спросить пользователя да или нет

Поскольку PHP-сценарии не сохраняют состояние, есть ли способ остановить сценарий и задать пользователю важный вопрос?
Я имею дело с вопросом пользователя, когда я хочу удалить запись из БД, используя delete.php

 else header('Location: select.php'); include 'dbconn.php'; $sql = "DELETE FROM users WHERE "; echo "Are you sure?"; $del=false; echo "yes no"; if($del) $result = mysqli_query($conn,$sql); mysqli_close($conn); header('Location: select.php'); 

Решение

 else header('Location: select.php'); include 'dbconn.php'; $sql = "DELETE FROM users WHERE "; print " "; ?>  

Другие решения

Предложения по использованию JavaScript хороши, но знайте, что это не единственный выбор.

Вот рабочий процесс, который может работать для вас, который использует только PHP и разные запросы страниц для каждого действия.

/users.php?id=5

/users.php?id=5&Действие = редактировать

Editing . Cancel edits Save changes Delete this user 

/users.php?id=5&действие = deleteConfirmation

Are you sure you want to delete Cancel Confirm 

/users.php?id=5&Действие = Удалить

$sql = "DELETE FROM users . "mysqli_query($sql) . header('Location: /users.php?action=deleteSuccessful'); 

users.php может выглядеть примерно так (псевдокод)

switch ($_GET['action']) < case 'edit': 

Editing using.

. break; case 'save': mysqli_query('UPDATE USERS SET . '); header('Location: . '); break; case 'deleteConfirmation':

Are you sure you want to delete user 5

. ; break; case 'delete': mysqli_query('DELETE FROM USERS . '); header('Location: . '); break; default:

Viewing User 5

. break; >

Испытанные в битве CRUDs

Вы можете посмотреть в RESTful API . Существуют соглашения для настройки ресурса для URL-адреса и последующего использования различных HTTP-глаголов для взаимодействия с ресурсом.

Вот основной ускоренный курс для теоретического пользователь ресурс

http url description GET /users display all users POST /users create a new user GET /users/1 display user with id: 1 GET /users/1/edit display the edit user page PUT /users/1 replace all the fields for user id: 1 PATCH /users/1 update 1 or more fields for user id: 1 DELETE /users/1 remove user with id: 1 

Вы можете использовать JavaScript. Либо вставьте код в функцию, либо используйте jQuery.

Источник

PHP: Показать да / нет диалоговое окно подтверждения

На моей странице PHP есть ссылка, чтобы удалить одну базовую таблицу MySQL. Я хочу, чтобы это было так, что когда я нажимаю ссылку «удалить», появляется окно с подтверждением, и он должен спросить «вы уверены, что хотите удалить?», С двумя кнопками: «да» и «нет», Когда я нажимаю «да», я хочу удалить данные таблицы MySQL, и когда я нажимаю «нет», ничего не должно произойти.

10 ответов

Работал над Yii-framework, и каким-то образом, увидев этот путь, я понял это и на yii, ‘options’=>array(‘onclick’=>’return confirm(«Are you sure?»);’)

Вы всегда должны использовать кнопку формы/сообщения, чтобы подтвердить что-то подобное. Никогда не полагайтесь на Javascript. Прочитайте этот, чтобы понять, почему!

Диалог подтверждения не имеет ничего общего с проблемой в вашей истории. Диалоговое окно подтверждения — это удобная функция, предотвращающая случайное нажатие пользователем кнопки «Удалить». В вашей ссылке они использовали JavaScript для аутентификации, что на самом деле глупо.

Вы можете использовать JavaScript для запроса:

Предупреждение. Этот JavaScript не остановит удаление записей, если они просто перейдут к окончательному URL-адресу — delete.page?id=1 в своем браузере.

Обычно я создаю страницу удаления, которая показывает форму подтверждения, если метод запроса «GET» и удаляет данные, если метод был «POST», и пользователь выбрал вариант «Да».

Затем, на странице со ссылкой на удаление, я добавляю функцию onclick (или просто использую плагин подтверждения jQuery), который использует AJAX для отправки по ссылке, минуя страницу подтверждения.

 redirect($_POST['referer']); > ?> 
Are you sure? "> ">

Страница со ссылкой на удаление:

Лучший способ найти это здесь.

ДОБАВИТЬ ЭТОТ НА СЕБЯ HEAD

$(document).ready(function() < $('a[data-confirm]').click(function(ev) < var href = $(this).attr('href'); if (!$('#dataConfirmModal').length) < $('body').append(''); > $('#dataConfirmModal').find('.modal-body').text($(this).attr('data-confirm')); $('#dataConfirmOK').attr('href', href); $('#dataConfirmModal').modal(); return false; >); >); 

Вы должны добавить Jquery и Bootstrap для этого.

onclick="return confirm('Log Out?')? window.open('?user=logout','_self'): void(0);" 

Сделал ли это script, а потом я тоже начал проверять интернет.
Да, это старая угроза, но, похоже, не похоже на какую-либо подобную версию, я думал, что буду способствовать.
Самый простой и простой способ работает во всех браузерах с/в любом элементе или поле.

Вы можете изменить window.open на любую другую команду для запуска, когда подтверждение TRUE , то же самое с void(0) , если конформация NULL или отменена.

PHP-способ сделать это будет использовать диалоговую систему внутри php.for примера GTKDialogs: http://www.kksou.com/php-gtk2/articles/setup-a-dialog-box—Part-2—simple-yes-no-dialog.php Способ javacript, вероятно, немного проще, но помните, когда отключен javascript, это не работает (за исключением того, что вы проверяете javascript для включения, а затем добавляете это!?) Это может быть с обработчиком onclick, например, tsvanharen, или с простым текстовым диалогом внутри страницы вместо всплывающего окна.

Я использую прототип (следовательно, тег $() и show()/hide()) для него. но вы можете легко изменить его для работы без прототипа:

click here to delete 
Do you really want to do this?
Yes|No

Опять же, это не работает без javascript, но почти никаких параметров нет.

Даже если phpgtk был установлен на сервере (что является бессмыслицей, поскольку для него требуется графический интерфейс, который никогда не устанавливается на веб-серверах под управлением Linux), он откроет это диалоговое окно на сервере, а не внутри браузера или пользователя. машина: вы не можете, с сервера, открыть окно GTK на клиенте

Если вы что-то удаляете, вы всегда должны использовать POST, а не GET, поэтому использование confirm() — плохая идея. То, что я делаю в вашей ситуации, — это использование модального всплывающего окна, например jqModal и отображение формы с кнопками да/нет внутри всплывающего окна.

Источник

сообщение — Как создать подтверждение да / нет в php?

Я хочу создать окно подтверждения да / нет в php
мой код такой:

  var cf=confirm("do you want to delete Y/N"); if(cf) ?>   Edit 
Edit
Edit

Хочу когда нажимаю Да я звоню редактировать код в PHP
Но это не работает.
Вы можете мне помочь ?
Спасибо вам

Решение

Просто используйте встроенное событие onclick.

Это простая техника, вы можете использовать ее на своей странице PHP.

Другие решения

В своем коде вы упомянули PHP, но использовали JavaScript.

Если вы хотите сделать подтверждение с помощью PHP,

Создайте промежуточную страницу для подтверждения.

Опубликуйте данные формы там.

На странице подтверждения добавьте две кнопки отправки:

Yes : Если нажать эту кнопку, перенаправить / опубликовать для редактирования страницы.

No : Если нажата эта, перенаправить обратно в форму

Итак, ваша страница подтверждения должна быть:

Поместите идентификатор в форму:

Создайте прослушиватель событий для формы onsubmit событие

  

Когда пользователь отправляет форму, ему будет предложено ваше сообщение. Если они нажмут Да, функция вернет true, и форма будет отправлена. В противном случае функция вернет false и отправка формы будет отменена.

Я думаю, что это то, что вы хотите сделать:

   ?>    --> Edit Page 1 
Edit Page 2
Edit Page 3
-->

Таким образом, теперь нажатие на любую из ссылок попросит меня подтвердить, хочу ли я удалить ресурс или нет. Если я выберу да, то соответствующая страница загружается для процесса …

не уверен, что другие ответы действительно ответили на ваш вопрос, это тоже была моя проблема, тогда я экспериментировал и вот что я придумал:

 $Confirmation = "  "; echo $Confirmation; if ($Confirmation == true)

вот и все, другие могут искать это, милости просим 🙂

Я искал, чтобы просто иметь окно подтверждения в php, прежде чем запускать POST isset без прохождения javascript:

Это оказалось для меня самым простым решением.

Источник

PHP: Показать диалог подтверждения да / нет

На моей странице PHP есть ссылка, чтобы удалить одну базовую таблицу MySQL. Я хочу, чтобы это было так, что когда я нажимаю ссылку «удалить», появляется окно с подтверждением, и он должен спросить «вы уверены, что хотите удалить?», С двумя кнопками: «да» и «нет», , Когда я нажимаю «Да», я хочу удалить данные таблицы MySQL, и когда я нажимаю «нет», ничего не должно произойти.

Solutions Collecting From Web of «PHP: Показать диалог подтверждения да / нет»

Вы должны всегда использовать кнопку формы / сообщения, чтобы подтвердить что-то подобное. Никогда не полагайтесь на Javascript. Прочтите это, чтобы понять, почему!

Вы можете использовать JavaScript для запроса:

Предупреждение : этот JavaScript не остановит удаление записей, если они просто перейдут к окончательному URL-адресу: delete.page?id=1 в своем браузере

Обычно я создаю страницу удаления, которая показывает форму подтверждения, если метод запроса «GET» и удаляет данные, если метод был «POST», и пользователь выбрал вариант «Да».

Затем, на странице со ссылкой на удаление, я добавляю функцию onclick (или просто использую плагин подтверждения jQuery ), который использует AJAX для публикации по ссылке, минуя страницу подтверждения.

 redirect($_POST['referer']); > ?> 
Are you sure? "> ">

Страница со ссылкой на удаление:

PHP-способ сделать это будет использовать диалоговую систему внутри php.for примера GTKDialogs: http://www.kksou.com/php-gtk2/articles/setup-a-dialog-box—Part-2– -simple-yes-no-dialog.php. Способ javacript, вероятно, немного проще, но помните, когда javascript отключен, это не работает (за исключением того, что вы проверяете javascript для включения, а затем добавляете это !?) Это может быть с обработчиком onclick, как tsvanharen, или с простым текстовым диалогом внутри страницы, а не ворчащим всплывающим окном.

Я использую прототип (следовательно, тег $ () и show () / hide ()) для него. но вы можете легко изменить его для работы без прототипа:

click here to delete 
Do you really want to do this?
Yes|No

Опять же, это не работает без javascript, но почти никаких вариантов.

Если вы что-то удаляете, вы всегда должны использовать POST, а не GET, поэтому использование confirm () – плохая идея. То, что я делаю в вашей ситуации, – это использование модального всплывающего окна, например jqModal, и отображение формы с кнопками «да / нет» внутри всплывающего окна.

onclick="return confirm('Log Out?')? window.open('?user=logout','_self'): void(0);" 

Был ли этот сценарий, а потом я и я тоже смотрю в интернете.
Да, это старая угроза, но, похоже, не похоже на какую-либо подобную версию, я думал, что буду способствовать.
Самый простой и простой способ работает во всех браузерах с / в любом элементе или поле.

Вы можете изменить window.open на любую другую команду для запуска, когда подтверждение TRUE , то же самое с void(0) если конформация NULL или отменена.

Лучший способ, который я нашел, здесь.

ДОБАВИТЬ ЭТОТ В РАЗДЕЛЕ ГОЛОВЫ

$(document).ready(function() < $('a[data-confirm]').click(function(ev) < var href = $(this).attr('href'); if (!$('#dataConfirmModal').length) < $('body').append('

Вы должны добавить Jquery и Bootstrap для этого.

Источник

Читайте также:  Изменить размер окна питон
Оцените статью