Всплывающая форма PHP - PullRequest
0 голосов
/ 06 января 2010

Я уже видел это на веб-сайте, и мне интересно, как бы я поступил так. Я пытаюсь открыть форму редактирования на сайте запросов к базе данных, где при нажатии кнопки я передаю переменную через $ _POST на страницу php, и эта страница php будет таким всплывающим, чтобы пользователь мог использовать его. форма, содержащаяся на этой странице php, чтобы редактировать детали этой записи базы данных.

Любая помощь, структурирующая это, будет оценена. Спасибо !!

Ответы [ 3 ]

2 голосов
/ 06 января 2010

Workflow:

  1. Пользователь переходит к списку запросов в браузере
  2. Редактирование кликов пользователя (ссылка на colorbox включена)
  3. GET-запрос отправляется в PHP-скрипт, который возвращает форму редактирования запроса на основе параметра $ _GET
  4. Пользователь редактирует запрос и нажимает сохранить
  5. Форма отправляет (POST) другому PHP, который проверяет и сохраняет новый запрос
  6. PHP Script перенаправляет в список запросов (полная перезагрузка страницы)

Что вам понадобится:

  • JQuery + Colorbox (или аналогичная модальная библиотека)
  • главная страница (там, где вы бы кликнули по редактированию)
  • HTML-форма, сгенерированная php
  • php для обработки формы отправки сообщения
0 голосов
/ 06 января 2010

Вам нужно будет использовать Javascript, чтобы открыть новое окно, которое будет содержать форму. Будет работать простая функция, такая как следующая:

function openWindow(theURL,winName,features) { window.open(theURL,winName,features); }

Рядом со строкой базы данных, которая будет редактироваться в вашем интерфейсе, вы можете добавить ссылку редактирования, которая вызывает эту функцию и открывает новый скрипт, который будет принимать идентификатор строки через переменную GET и использовать его для представления формы для редактирования .

<a href=\"javascript:openWindow('item_add.php?id=1','','width=500,height=300');\">

Item_add php должен принимать переменную id из массива GET. Этот сценарий должен содержать HTML-форму, которая при отправке будет вызывать запрос на обновление для этой переменной ID. По завершении вы можете вызвать другую функцию javascript, чтобы закрыть окно редактирования и обновить содержимое на исходной вызывающей странице. Вызовите эту функцию через onLoad в теле скрипта после того, как POST обработан и база данных обновится.

                     function redirect_to(where, closewin)
                 {
                         opener.location= 'index.php?' + where;

                         if (closewin == 1)
                         {
                                 self.close();
                         }
                 }

<body onload="redirect_to('index.php','1')">

Это просто техника, которую я использовал ранее, но в зависимости от вашего контекста вы можете захотеть взглянуть на некоторые решения AJAX.

0 голосов
/ 06 января 2010

В более старых версиях HTML (например, 4.0) допускается использование целевого атрибута в теге формы, поэтому вы можете просто отправить форму по почте на URL-адрес действия, а затем поставить target = "_ blank" или что-либо еще в теге формы. , Если вы хотите контролировать размер всплывающего окна, лучше выполнить отправку через JavaScript.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...