Мне нужно сделать форму отправки обоих запросов POST и GET (из-за некоторых ошибок в IE и iframes), как вы можете это сделать?
Отправляемые данные ничего не безопасны, поэтому не имеет значения, может ли он быть установлен через GET, просто нужно убедиться, что он установлен в обоих направлениях.
Спасибо за помощь!
Просто: просто укажите данные GET в URL-адресе формы.
<form method="POST" action="form.php?a=1&b=2&c=3">
однако очень тщательно проверяйте, как данные используются в сценарии приема. Не используйте $_REQUEST
– скорее разбирайте $_GET
и $_POST
соответствии с вашими точными потребностями и в приоритетном порядке, в котором они вам нужны.
Сделайте форму обычной POST и используйте JavaScript для репликации значений в строке запроса:
HTML:
<form id="myform" method="post" action="..." onsubmit="process()"> ... </form>
JavaScript:
function process() { var form = document.getElementById('myform'); var elements = form.elements; var values = []; for (var i = 0; i < elements.length; i++) values.push(encodeURIComponent(elements[i].name) + '=' + encodeURIComponent(elements[i].value)); form.action += '?' + values.join('&'); }
Не знаете, какую ошибку вы пытаетесь обойти, но вы можете использовать jQuery, чтобы легко изменить действие формы, чтобы содержать опубликованные значения:
сценарий:
function setAction() { $("#myform").attr("action", "/path/to/script/?" + $("#myform").serialize()); }
HTML:
<form id="myform" action="/path/to/script/" method="post" onsubmit="setAction()">
форма должна установить сообщение сделать get в URL
<form method="post" action="http://www.yourpage.php?firstparam=1&sec=2"> . . </form>