Передача входных данных из формы в несколько мест, одно из которых всплывающее при отправке - PullRequest
0 голосов
/ 30 марта 2011

это мой первый вопрос Stackoverflow, и я учу себя PHP, поэтому я прошу прощения, если этот вопрос довольно простой.Я искал на этом и других сайтах и ​​видел частичные ответы, но большинство из них были слишком конкретными (и имели другие сложности), чтобы я мог знать, что код делал и что.

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

<form action="php_page.php" method="POST">
    <input type="text" id="name" value="Name" /><br />
    <textarea id="goal1" value="Short-Term Goal"></textarea><br />
    <textarea id="goal2" value="Mid-Term Goal"></textarea><br />
    <textarea id="goal3" value="Long-Term Goal"></textarea><br />
    <input type="text" id="email" value="Email Address" /><br />
    <input type="submit" OnClick="PopUp()" id="submit" />
</form>

В файле php_page.php из того, что я прочитал, мне нужен какой-то тип базового соединения, чтобыФорма для отправки своих данных в несколько мест.К сожалению, я не совсем понимаю, как это будет выглядеть, и как настроить условие, при котором любая форма с заполненным адресом электронной почты будет отправляться в другое место.

В настоящее время скрипт PopUp выглядит следующим образом.:

function PopUp() {
    window.open( "php_page.php", "myWindow", "status = 0, height = 500, width = 500, resizable = 0" )
}

Итак, я думаю, вопросы: (1) Это правильный путь?(2) Как выглядит php_page.php с точки зрения направления данных POST?(3) Нужно ли создавать третью страницу для перенаправления PopUp () вместо возврата к php_page.php?(4) Будет ли это работать с HTTPS?

Спасибо всем заранее.Даже если никто не ответит на это, сообщество здесь сделало изучение PHP намного проще, чем могло бы быть.

1 Ответ

0 голосов
/ 30 марта 2011

Что вы хотели бы сделать, это заставить пост пройти через всплывающее окно.Самый простой способ - поместить тег target="myWindow" в тег <form>, хотя это больше не является допустимым HTML, но поддерживается всеми основными браузерами.Это откроет новое окно и отправит сообщение через это окно.Затем ваш серверный сценарий включится, обработает сообщение и сможет вернуть данные формы в «сильно стилизованном» формате.

Вы не можете «сказать» PHP-сценарию об отправке данных другомуокно браузера.Веб-сервер не имеет понятия окон, есть только HTTP-запросы и ответы.Эти запросы также выполняются для каждого окна, поэтому вы не можете сказать «отправить данные из окна X, но отправить ответ в окно Y».

Альтернативой может быть отправка POST через AJAXзапрос.Затем код javascript может открывать новое окно и динамически заполнять его содержимое, но все это зависит от того, включен ли клиент на Javascript, поэтому не является надежным на 100%.

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