Эта форма contact.php работала для обработки отправки, а затем перенаправления на новую страницу, а затем внезапно просто перестала работать. Я попытался добавить обработку ошибок, а также переместить заголовок вверху перед всеми остальными, но ни один из них не работает. Форма все еще отправляет данные, как и ожидалось, просто перенаправление не работает. Любые идеи были бы хорошы.
<?php
include 'config.php';
$post = (!empty($_POST)) ? true : false;
if($post)
{
$email = trim($_POST['email']);
$subject = "Downloaded Course Units";
$error = '';
if(!$error)
{
$mail = mail(WEBMASTER_EMAIL, $subject, $message,
"From: ".$email."\r\n"."Reply-To: ".$email."\r\n"."X-Mailer: PHP/" . phpversion());
if($mail)
{
echo 'OK';
header('location: http://www.google.com.au/');
exit();
}
}
}
?>
Используйте JavaScript.
Вместо
header('location: http://www.google.com.au/');
Использование,
?>
<script type="text/javascript">
window.location.href = 'http://www.google.com.au/';
</script>
<?php
Он будет перенаправлять, даже если что-то выводится в вашем браузере.
Но нужно сделать одну меру предосторожности: перенаправление Javascript перенаправит вашу страницу, даже если на странице что-то напечатано.
Убедитесь, что он не пропускает никакой логики, написанной на PHP.
Заменить header('location: http://www.google.com.au/');
строка с приведенным ниже кодом для перенаправления в php без использования функции заголовка.
$URL="http://yourwebsite.com/";
echo "<script type='text/javascript'>document.location.href='{$URL}';</script>";
echo '<META HTTP-EQUIV="refresh" content="0;URL=' . $URL . '">';
Если вам интересно, что почему я использовал метатег и JavaScript для перенаправления, тогда ответ очень прост.
Если в браузере отключен JavaScript, то метатег перенаправит страницу.
заголовок не работает после включения, эхо.
попробуйте снова без включения, эхо.
ИЛИ вместо заголовка функции
использование
echo '<meta http-equiv="refresh" content="0; URL=http://www.google.com.au/">';
If you want to redirect to another page after html code then use location.href javascript method.
Ссылайтесь на этот простой код
<html>
<head>
<title> Using the href property of the Location object</title>
</head>
<body>
<script language="JavaScript">
<!--
function show(){
document.location.href ="http://www.java2s.com";
}
-->
</script>
<form name="form1">
<br>
<input type="button" name="sethref" value="Set href" onClick='show()'>
<br>
</form>
</body>
</html>
Я решил это с:
function GoToNow ($url){
echo '<script language="javascript">window.location.href ="'.$url.'"</script>';
}