Я пытаюсь получить некоторые данные со страницы на страницу, а затем отправить их по почте.
Итак, из одной формы я получаю название элемента:
//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 из-за красивого URL.