Я хочу отправить электронное письмо с исходными данными с моей страницы html. Я использую следующий сценарий php:PHP-код, показывающий пустую страницу
<?php
if((isset($_POST['budget']))&&(isset($_POST['type']))) {
$email_to = "[email protected]";
$email_subject = "Design";
function died($error) {
// your error code can go here
echo "We are very sorry, but there were error(s) found with the form you submitted. ";
echo "These errors appear below.<br /><br />";
echo $error."<br /><br />";
echo "Please go back and fix these errors.<br /><br />";
die();
}
// validation expected data exists
if(!isset($_POST['budget']) ||
!isset($_POST['type'])) {
died('We are sorry, but there appears to be a problem with the form you submitted.');
}
$email = $_POST['email']; // required
$budget = $_POST['budget']; // required
$type = $_POST['type']; // required
$comments = $_POST['comments']; // not required
$error_message = "";
$email_exp = '/^[A-Za-z0-9._%-][email protected][A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';
$string_exp = "/^[A-Za-z .'-]+$/";
if(strlen($error_message) > 0) {
died($error_message);
}
$email_message = "Form details below.\n\n";
function clean_string($string) {
$bad = array("content-type","bcc:","to:","cc:","href");
return str_replace($bad,"",$string);
}
$email_message .= "Email: ".clean_string($email)."\n";
$email_message .= "Budget: ".clean_string($budget)."\n";
$email_message .= "Type: ".clean_string($type)."\n";
$email_message .= "Comments: ".clean_string($comments)."\n";
// create email headers
$headers = 'From: '.$email."\r\n".
'Reply-To: '.$email."\r\n" .
'X-Mailer: PHP/' . phpversion();
mail($email_to, $email_subject, $email_message, $headers);
?>
<!-- THERE MY PHP CODE, I REMOVED IT ESPECIALLY FOR STACKOVERFLOW, BUT IT EXIST -->
<?php
}
?>
Но это не работает. Когда я нажимаю на submit - это показывает мне пустую страницу. Я не понимаю, в чем проблема.
Кроме того, я попытался следующий сценарий, и она работала отлично:
<?php
$to = "[email protected]";
$subject = "This is subject";
$message = "<b>This is HTML message.</b>";
$message .= "<h1>This is headline.</h1>";
$header = "From:[email protected] \r\n";
$header .= "Cc:[email protected] \r\n";
$header .= "MIME-Version: 1.0\r\n";
$header .= "Content-type: text/html\r\n";
$retval = mail ($to,$subject,$message,$header);
if($retval == true) {
echo "Message sent successfully...";
}else {
echo "Message could not be sent...";
}
?>
Пустой страницей обычно является внутренняя ошибка сервера. Что содержит журнал ошибок ваших веб-серверов? – TZHX
Вам нужно быть более явным с сообщением. Подготовьте дело. Что вы попробовали? Если вы найдете что-то здесь, и это не проблема. Если у вас ошибка на консоли, вам нужно ее показать. Если вы даете больше информации, это немного лучше. –
Ничего. Я пробовал этот скрипт на другом хостинге, и он отлично работал. –