данные формы php отправляют на два разных действия - PullRequest
0 голосов
/ 23 июня 2010

У меня есть форма, я хочу отправить данные формы для двух разных действий, могу ли я сделать это в php

Ответы [ 4 ]

1 голос
/ 23 июня 2010

Я думаю, что единственным способом будет что-то вроде этого:

if($_SERVER['REQUEST_METHOD'] == 'POST') {
    switch ($_POST['action']) {
        case 'action1':
             // do something
        break;
        case 'action2':
             // do something
        break;
    }
}

Где у вас будет скрытый ввод в форме, который будет содержать тип действия, которое вы хотите сделать.Затем, после отправки формы, вы переключаете действие и делаете то, что вам нужно.

Единственный другой путь без PHP - это использование AJAX, как предлагают многие ответы в смежных вопросах.

1 голос
/ 23 июня 2010

No it's not possible для отправки данных формы одновременно двум различным действиям (вы можете отправить данные формы, вызвав другой метод из действия, вызванного в форме) using PHP or any other programming langauage

0 голосов
/ 18 марта 2015

Это возможно! Ваша HTML-форма:

<form  name="Form1"  method="post">
<input name="username" value="ramiz" type="username">
<input name="password" value="0" type="hidden">
<input name="url" value="http://google.com" type="hidden">
<button onclick="open_win();send1();send2();closepopup();javascript:timedRefresh(5000);" name="send">Send </button>
</form>

JavaScript:

function open_win()
{mywindow1=window.open('','popup1','width=400,height=100');
mywindow2=window.open('','popup2','width=400,height=100');}function send1()
{document.Form1.action = "http://firstaction.php";
document.Form1.target = 'popup1';
document.Form1.submit(); }
function send2()
{document.Form1.action = "http://secondaction.php"
document.Form1.target = 'popup2';
document.Form1.submit(); }
function closepopup ({setTimeout('mywindow1.close();',5000);setTimeout('mywindow2.close();',5000);}

Подробности: при нажатии кнопки отправки открывается два небольших всплывающих окна, отправляются данные для двух различных действий в этих окнах, а затем закрывается всплывающее окно через 5 секунд.

Вы можете использовать iframes вместо всплывающих окон и скрыть их, используя display:none. Вы должны установить цель для вашего имени iframe.

0 голосов
/ 23 июня 2010

Нет, это невозможно, потому что как браузер узнает, на какую страницу отправлять пользователя (это все действие).

Однако вы можете разместить ее на странице PHP, которая затем запускаетотправка формы для двух отдельных действий (имеет смысл только для разных веб-приложений - если это одно и то же приложение может просто перейти к вызову функции).

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