dredder
Кэп
У меня есть подобный фрагмент кода:
Данные отправляются методом пост, письмо приходит, всё хорошо. Но когда я обновляю страницу с формой, данные методом POST снова отправляться и так каждый раз.
Я знаю, что в этом случае нужно сделать перенаправление на другую страницу:
Но почему без него POST отправляется снова после обновления страницы? Он как-то прикрепляются к URL? Или сохраняется в браузере?
PHP:
if (isset($_POST['id_product']) && isset($_POST['name']) && isset($_POST['phone'])){
include "libmail.php";
$site_url = $_SERVER['SERVER_NAME'];
$phone = "Телефон: " . $_POST['phone'];
$name = "Имя: " . $_POST['name'];
$sql = 'CALL catalog_get_product(:id_product)';
$params = array (':id_product' => $_POST['id_product']);
$productData = Model::GetAll($sql, $params);
$message = 'Заявка на товар с сайта '.$site_url.' <br>' . $phone . ' ' . $name;
$m = new Mail("utf-8");
$m->To( "[email protected]" );
$m->Subject( 'Заявка на товар с сайта' . $site_url );
$m->Body( $message, "html" );
$m->Send();
var_dump($_POST);
}
Я знаю, что в этом случае нужно сделать перенаправление на другую страницу:
PHP:
header('Location: http://www.example.com/');
exit;