我需要将表单数据发送到两个不同的页面(a0.php & a1.php)
。我无法使用会话,因为我无法访问(a1.php)
页面。
所以现在我想要一些中间页面,我可以访问表单数据并重定向到另一个页面作为表单帖子。
现有
//前端
<form action="a1.php" method="post">
</form>
// a1.php
<?php
var_dump($_POST);
?>
所需
//前端
<form action="a0.php" method="post">
</form>
// a0.php
<?php
var_dump($_POST); //access form data here
header("location:a1.php")// pass form post data through redirection
?>
// a1.php
<?php
var_dump($_POST); //access form data here also in same format/fashion
?>
注意:我不想在网址中传递参数,在这种情况下,我更喜欢POST
而不是GET
答案 0 :(得分:3)
您可以使用javascript。
onClick
将触发将数据发送到第一页而不刷新(ajax)的函数,因此发送到第二页。
<form>
<button type=submit" onclick="x()" >
</form>
<script>
function x(){
//ajax to a1.php
//send to a2.php
}
</script>
答案 1 :(得分:1)
请尝试以下方法:
在a0.php页面上
<?php
$queryString = http_build_query($_REQUEST);
header("Location: a1.php?" . $queryString );
?>
在a1.php上
<?php
var_dump($_REQUEST);
?>
答案 2 :(得分:1)
在这里你可以使用ajax。
当您点击提交按钮,然后使用jquery,您可以获取值并使用ajax发布到页面。
然后在ajax调用之后提交第一个表单。
<script type="text/javascript">
function ajax_call_list()
{
var name = document.getElementById('name').value;
var address = document.getElementById('address').value;
var vURL = "b.php?name="+name+"&address="+address;
jQuery.ajax(
{
type: "POST", url: vURL, data: "", success: function(result)
{
if(result)
{
$("#form_submit").submit();
}
}
}
}
</script>
<form action="a.php" id="form_submit">
<input type="text" name="name" id="name">
<input type="address" name="address" id="address">
<input type="submit" name="submit" value="Submit" onClick="callAjax()">
</form>
我希望它会有所帮助。
由于
答案 3 :(得分:0)
你可以在a0.php中包含a1.php,这样所有的post变量也可以在a1.php中使用
包括( 'a1.php');
答案 4 :(得分:0)
似乎在jQuery,Angular Js和Ajax的时代,人们忘记了普通的Javascript。在2005年左右,我已经向自己提交了一个php页面,并在另一个Frame中提交了另一个php页面。这是我的代码:
<强> JS 强>
function validate() {
var valid = true;
if(valid) {
document.f1.target = "headframe";
document.f1.action = "page1.php"; // This is the same page
document.f1.submit();
document.f1.target = "mainframe";
document.f1.action = "page2.php"; // Another page
document.f1.submit();
}
}
它仍然完美无缺。 KISS原则说&#34;保持简单,愚蠢!&#34;