У меня есть форма на HTML-странице, которая имеет данные формы и хотела бы, чтобы пользователь перенаправлялся на новую страницу URL после того, как они нажали кнопку отправки, и она отправила по электронной почте эту информацию. Форма вызывается со следующей кнопкой.
<div class="btnp"><input type="submit" value="Continue to Billing" ></div>
Затем форма отправляет данные в файл PHP по почте. Мне не нужно успешное эхо-сообщение, я просто хотел бы, чтобы URL-адрес перенаправлялся на страницу оплаты. Ниже приведен файл PHP. Я пытаюсь отправить, отправить письмо с датой формы, а затем перенаправить на новый html-url.
<?php //Retrieve form data. //POST $URL = "http://www.google.com"; $fname = $_POST['fname']; $zip = $_POST['zip']; $phone = $_POST['phone']; $email = $_POST['email']; //recipient - change this to your name and email $to = 'sales@mysite.com'; //sender $from = $fname . ' <' . $email . '>'; //subject and the html message $subject = 'New User: ' . $fname; $message = ' <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head></head> <body> <table> <tr><td>First Name</td><td>' . $fame . '</td></tr> <tr><td>Zip</td><td>' . $zip . '</td></tr> <tr><td>Telephone</td><td>' . $phone . '</td></tr> <tr><td>Email</td><td>' . $email . '</td></tr> </table> </body> </html>'; //send the mail $result = sendmail($to, $subject, $message, $from); if ($_POST) if ($result) header('Location: '.$URL); else echo 'Sorry, unexpected error. Please try again later'; //Simple mail function with HTML header function sendmail($to, $subject, $message, $from) { $headers = "MIME-Version: 1.0" . "\r\n"; $headers .= "Content-type:text/html;charset=iso-8859-1" . "\r\n"; $headers .= 'From: ' . $from . "\r\n"; $result = mail($to,$subject,$message,$headers); } ?>
используйте header('Location: $url);
что ваш попытался, но исправьте эту функцию:
header('Location: '.$URL);
просто убедитесь, что определен параметр varibale $URL
.
Чтобы использовать функцию «header»:
header("location: result.php");
Вы не можете выводить / печатать / эхо ничего на экран, поэтому попробуйте следующее:
if ($_POST) if ($result) header("location: result-page.php"); else echo 'Sorry, unexpected error. Please try again later';
Или вы можете использовать javascript для печати успешных сообщений и перенаправления:
if ($_POST) if ($result) { print "<script>alert('Ok, email sent');</script>"; print "<script>window.open('result-page.php','_self');</script>"; }else{ print 'Sorry, unexpected error. Please try again later'; }