Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 发送两个邮件并以表格形式获取_Php_Html_Http Post_Http Get - Fatal编程技术网

Php 发送两个邮件并以表格形式获取

Php 发送两个邮件并以表格形式获取,php,html,http-post,http-get,Php,Html,Http Post,Http Get,我需要制作一个表单来发送POST和GET请求(由于IE和iframes中存在一些bug),您如何做到这一点 正在发送的数据不是超级安全的,所以可以通过GET设置它也没关系,只需要确保它是双向设置的 谢谢你的帮助 简单:只需在表单URL中指定获取数据 <form method="POST" action="form.php?a=1&b=2&c=3"> 但是,请非常仔细地检查接收脚本中如何使用数据。不要使用$\u REQUEST-而是根据您的确切需要和需要的优先级顺

我需要制作一个表单来发送POST和GET请求(由于IE和iframes中存在一些bug),您如何做到这一点

正在发送的数据不是超级安全的,所以可以通过GET设置它也没关系,只需要确保它是双向设置的


谢谢你的帮助

简单:只需在表单URL中指定获取数据

<form method="POST" action="form.php?a=1&b=2&c=3">


但是,请非常仔细地检查接收脚本中如何使用数据。不要使用
$\u REQUEST
-而是根据您的确切需要和需要的优先级顺序解析
$\u GET
$\u POST

表单应在url中设置POST do GET

<form method="post" action="http://www.yourpage.php?firstparam=1&sec=2">
.
.
</form>

.
.

使表单执行常规POST,并使用JavaScript复制查询字符串中的值:

HTML:

<form id="myform" method="post" action="..." onsubmit="process()">
  ...
</form>
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('&');
}

...
JavaScript:

<form id="myform" method="post" action="..." onsubmit="process()">
  ...
</form>
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('&');
}
函数过程(){
var form=document.getElementById('myform');
var元素=form.elements;
var值=[];
对于(var i=0;i
不确定您试图绕过的bug是什么,但您可以使用它轻松修改表单的操作以包含发布的值:

脚本:

function setAction() {
    $("#myform").attr("action", "/path/to/script/?" + $("#myform").serialize());
}
html:


如果您需要动态创建的URL。您可以使用这个HTML示例。GET字段是一种分离的形式。在提交POST表单之前,URL是从GET表单生成的

<form id="formGET">
    email: <input name="email" value="email@domain.nl"/>
</form>
<form id="formPOST" method="post" onsubmit="this.action='/api/Account?'+Array.prototype.slice.call(formGET.elements).map(function(val){return val.name + '=' + val.value}).join('&');">
    mobile: <input name="mobile" value="9999999999" /><br />
    <button>POST</button>
</form>

电邮:
手机:
邮递
下面的几个答案说明了如何做到这一点。请记住,请求本身只有一种类型,即
方法。因此,您可以将“
GET
-style”参数添加到
POST
请求中,但不能执行相反的操作。我很想知道为什么必须这样做。我脑子里想不出任何理由。此外,通过POST发送的数据并不比GET发送的数据更安全。这两种方式都是透明的。如果您需要安全性,您必须使用SSL。@Brad出于某种原因,它仅在chrome和ff用户使用
POST
时有效,并且仅在IE用户使用
GET
时有效。它能做什么?你能给我们一些HTML看看吗?我们不知道你指的是什么。POST和GET是非常基本的,应该可以在任何浏览器上使用。如果不是,我怀疑你的问题是其他的。iframe中嵌入了一个表单,特别是facebook应用程序iframe。我不知道为什么,但POST不适用于IE用户,GET不适用于chrome或ff。你误解了我。我的意思是我希望数据同时以
POST
GET
的形式提交,而不是通过额外的GET
data
@Cyclone啊,我明白了。那么,只有使用像@casablanca shows这样的JS才有可能做到这一点。别忘了将方法设置为POST。如果您将其保留为GET,则操作中的参数将被删除…这是唯一的方法。注意GET参数的2-4KB限制,尽管我唯一要添加的是.preventDefault()到事件中。然后在之后调用表单提交按钮的click()。这样,在js完成任务之前,表单无法发送。@Robert:当然可以进行调整。我只是想展示使用jQuery实现此目的的一般概念。