我有一个表单,在提交表单后将用户重定向到“page1.php”。我想要做的是在提交表单后将用户重定向到“page2.php”,但我需要确保发送了POST请求。例如:
<form action="page1.php" method="POST">
<input type="text" name="username" />
<input type="text" name="age" />
<input type="submit" value="" />
</form>
当用户点击提交时,它会将他重定向到page1.php。我想将他重定向到page2.php,但我需要确保将数据发送到服务器。我不能使用AJAX。有没有办法用cURL或类似的东西做到这一点?有什么例子吗?
谢谢!
答案 0 :(得分:2)
我想这很有效!! 在page1.php
中<?php
//do establish session
//and check for the input fields obtained via $_POST
if(isset($_POST['name_of_your_field']) && !empty($_POST['name_of_your_field'])){
if(!mail($to,$subject,$message)){
header('location:form.php?msg=error');
}else{
header('location:page2.php?msg=succes');
}
}
?>
答案 1 :(得分:1)
您可以使用以下内容检查POST请求是否已发送:
if($_SERVER['REQUEST_METHOD'] == 'POST') {
// do something...
}
您可以在表单中创建隐藏的输入,并发送有关提交表单的其他信息,例如:动作。
在你内部,你将使用:
进行魔术并重定向用户header('Location: page2.php');
exit();
答案 2 :(得分:0)
在“page1.php”处理器中,将“标题”重定向添加到“page2.php”。
header("Location: page2.php");
exit;
答案 3 :(得分:0)
您可以检查查询是否完整
示例
<?php
$query=mysqli_query(".......your query statement")or trigger_error(mysqli_error());
if($query){
header("Location:page2.php");
}
else{
die('error');
}
?>
答案 4 :(得分:0)
在您的情况下,您只需检查发布的数据即可。像
$username = $_POST['username'];
$age = $_POST['age'];
if($username&&$age){ /* This is to check if the variables are not empty */
// redirect to page2
}
合乎逻辑的是,如果这些不是空的,意味着它们被张贴。即使它们是空的,只要你到达那里,这意味着它被张贴了。如果发布了数据,则无需检查是否已发布,需要检查的内容。
我希望我说清楚。 ^ _ ^但确保一点都不差。快乐的编码朋友。