我试图从页面到页面获取一些数据,然后邮寄它们。
所以从一种形式我得到一个项目的标题:
//Form1
<form class="orderFormFields" method="post" action="order">
<input type="hidden" name="productName" value="<?php the_title(); ?>">
<input class="oButton" value="Order" type="submit"/>
</form>
然后是另一个形式(下一页)与我需要邮寄的其他字段:
<?php
//getting a variable from previous form
$product = $_POST['productName'];
if(isset($_POST['submit']))
{
$name = $_POST['order_name'];
$mail = $_POST['email'];
$phone = $_POST['mobile'];
$date = $_POST['date'];
$comment = $_POST['comment'];
//simple mail function goes here
$done = true;
}
?>
//Form2 goes here
因此,如果我在<?php echo $product; ?>
之前插入if(isset($_POST['submit']))
,我可以在上一页看到我的变量,所有作品都可以找到。但是当我在邮件函数中插入相同的变量时,女巫在if(isset($_POST['submit']))
内,我无法邮寄该变量,似乎是空的。
表单方法POST是否删除所有以前的表单数据?因为,如果我将Form1方法更改为GET并将$product = $_POST['productName'];
更改为$product = $_GET['productName'];
,我将在Form2提交后获取该变量,并且我可以邮寄该变量。但我想更喜欢使用POST方法,因为网址很好。
答案 0 :(得分:1)
您忘记为提交按钮命名,因此没有$ _POST ['submit']
<input class="oButton" value="Order" type="submit" name="submit" />
编辑: 好的,$ _POST是数组,只在post请求后才有值。如果您发出另一个帖子请求或更改页面,则会删除以前的$ _POST值,并存储新请求中的这些值。 您可以存储会话中第一篇文章的数据,例如 -
$_SESSION['postData']['form1'] = $_POST;