Задать вопрос
dzhem911
@dzhem911
I know H.T.M.L. ;)

Из-за чего возникает проблема с редиректом(http_reverer)?

Всем добрый день.
Работаю на OpenServer(php 5.3, apache 2.2). Писал код на php для отправки e-mail. Сообщение отправляется как нужно, но после отправки должна появиться новая страница с выводом на экран сообщения об успешной отправки письма, но вместо этого выдается следующая ошибка:
"Object not found!

The requested URL was not found on this server. The link on the referring page seems to be wrong or outdated. Please inform the author of that page about the error.
If you think this is a server error, please contact the webmaster.
Error 404

example.com
09/29/14 10:07:49
Apache/2.2.27(Win32)"

Ниже сам код.
Файл index.php
<?php
	session_start();
	if (isset($_POST["send"])) {
	$from = $_POST["from"];
	$to=$_POST["to"];
	$subject=$_POST["subject"];
	$message=$_POST["message"];
	$_SESSION["from"]=$from;
	$_SESSION["to"]=$to;
	$_SESSION["subject"]=$subject;
	$_SESSION["message"]=$message;
	$error_from="";
	$error_to="";
	$error_subject="";
	$error_message="";
	$error=false;
	if (!preg_match("/^[a-z0-9][a-z0-9\.-_]*[a-z0-9]*@([a-z0-9]+([a-z0-9-]*[a-z0-9]+)*\.)+[a-z]+/i", $from)) {
	$error_from="Некорректный e-mail";
	$error=true;
	}
	if (!preg_match("/^[a-z0-9][a-z0-9\.-_]*[a-z0-9]*@([a-z0-9]+([a-z0-9-]*[a-z0-9]+)*\.)+[a-z]+/i", $to)) {
	$error_to="Некорректный e-mail";
	$error=true;
	}
	if (strlen($subject)==0) {
		$error_subject="Не написана тема";
		$error=true;
	}
	if (strlen($message)==0) {
		$error_message="Не написано сообщение";
		$error=true;
	}
	if (!$error) {
	$subject="=?utf-8?B?".base64_encode($subject)."?=";
	$headers="From: $from\r\nReply-to: $from\r\nContent-type: text/plain; charset=utf-8\r\n";
	mail($to, $subject, $message, $headers);
	header("Location: success.php?send=1");
	exit;
	}
}
?>
<!DOCTYPE html>
<html lang="ru">
<head>
	<title>Сервис рассылки </title>
	<meta charset="utf-8" />
</head>
<body>
<h1>Отправьте почту!</h1>
<form name="myform" action="index.php" method="post">
<table>
<tr>
<td>От кого:</td>
<td>
<input type="text" name="from" value="<?php echo $_SESSION["from"];?>" />
</td>
<td>
<span style="color: red;"><?php echo $error_from;?></span>
</td>
</tr>
<tr>
<td>Кому:</td>
<td>
<input type="text" name="to" value="<?php echo $_SESSION["to"];?>" />
</td>
<td>
<span style="color: red;"><?php echo $error_to;?></span>
</td>
</tr>
<tr>
<td>Тема:</td>
<td>
<input type="text" name="subject" value="<?php echo $_SESSION["subject"];?>" />
</td>
<td>
<span style="color: red;"><?php echo $error_subject;?></span>
</td>
<tr>
<td>Сообщение:</td>
<td>
<textarea name="message" cols="15" rows="10"><?php echo $_SESSION["message"];?></textarea>
</td>
<td>
<span style="color: red;"><?php echo $error_message;?></span>
</td>
</tr>
<tr>
<td colspan="3">
<input type="submit" name="send" value="Отправить" />
</td>
</tr>
</table>
</form>
</body>
</html>

Файл page.php
<?php 
  echo "<a href=index.php>Ссылка на страницу PHP</a><br />"; 
  echo "Содержимое - ".$_SERVER['HTTP_REFERER'];
?>
  • Вопрос задан
  • 2408 просмотров
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
Immortal_pony
@Immortal_pony Куратор тега PHP
После успешной отправки, вы перенаправляете на страницу success.php, которой не существует по-видимому.
header("Location: success.php?send=1");
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽