Я ранее использовал форму php на странице контактов, но теперь делаю вторую и использовал одни и те же документы и просто изменил их, однако, когда я нажимаю кнопку "Отправить", она переходит на пустую страницу. Я просмотрел свою предыдущую страницу и пока не вижу никакой разницы в коде, и это сводит меня с ума! Я не профессионал, а просто растягиваю себя, чтобы помочь себе в работе с моими женами.
<?php
if(isset($_POST['email'])) {
$email_to = "[email protected]";
$email_subject = "Mothers Day Order Form";
$arrangement = "";
$your_name = "";
$your_contact_number = "";
$email_from = "";
$mums_name = "";
$mums_contact_number = "";
$delivery_address = "";
$delivery_suburb = "";
$delivery_date = "";
$card_message = "";
$base = "";
$payment_method = "";
$total = "";
$email_message .= "Your Name: ".clean_string($your_name)."\n";
$email_message .= "Mums Name: ".clean_string($mums_name)."\n";
$email_message .= "Email Address: ".clean_string($email_from)."\n";
$email_message .= "Your Telephone: ".clean_string($your_contact_number)."\n";
$email_message .= "Delivery Date: ".clean_string($delivery_date)."\n";
$email_message .= "Mums Contact Number: ".clean_string($mums_contact_number)."\n";
$email_message .= "Delivery Address: ".clean_string($delivery_address)."\n";
$email_message .= "card_message: ".clean_string($card_message)."\n";
$email_message .= "Delivery Suburb: ".clean_string($delivery_suburb)."\n";
$email_message .= "Delivery Date: ".clean_string($delivery_date)."\n";
$email_message .= "base: ".clean_string($base)."\n";
$email_message .= "payment method: ".clean_string($payment_method)."\n";
$email_message .= "Total: ".clean_string($total)."\n";
// create email headers
$headers = 'From: '.$email_from."\r\n".
'Reply-To: '.$email_from."\r\n" .
'X-Mailer: PHP/' . phpversion();
@mail($email_to, $email_subject, $email_message, $headers);
?>
<!-- thank you for contacting us -->
<?php
}
?>
Если я правильно понимаю вашу проблему, это ошибка при представлении страницы, и экран становится пустым.
Предполагая, что вы правильно заполнили форму и затем разместили ее.
Сначала, чтобы получить сообщение об ошибке, поставьте это вверху страницы:
ini_set('display_errors',1);
ini_set('display_startup_errors',1);
error_reporting(-1);
Это поможет вам получить точную ошибку и устранить проблему.
Угадайте точную ошибку, ее функцию clean_string, отсутствующую на странице сценария. Поскольку я не могу просмотреть весь ваш код, чтобы подтвердить точную ошибку.
Ваша html-форма под этим URL-адресом не содержит ввода с именем email
Таким образом, if(isset($_POST['email'])) {
никогда не будет правдой, создавая пустую страницу.
Попробуйте изменить
if(isset($_POST['email_from'])) {
.... your code
}
else
echo "you haven't filled in the form properly ...";
Кроме того: if(isset($_POST['email'])) {
не будет выдавать никаких сообщений об ошибке в отсутствующем индексе. Это то, что должен делать isset
.