Tôi vừa cài đặt phiên bản Ubuntu 14.04 Server mới trên một trong các máy tính của mình. Tôi đã cài đặt mọi thứ để làm cho nó chạy như một máy chủ web thông thường (bao gồm cả PHP). Vấn đề của tôi là, tôi có một biểu mẫu liên hệ được viết bằng PHP mà tôi đang chạy trên trang web của mình và trong đó, tôi gặp sự cố an toàn trong trường hợp có sự cố xảy ra với việc gửi biểu mẫu, đó là những gì đang xảy ra. Kịch bản chạy tốt trên bất kỳ máy chủ khác. Nhưng đối với tôi, nó chuyển đến chức năng tin nhắn của tôi thất bại mỗi khi tôi cố gắng gửi biểu mẫu. Tôi tình cờ nghĩ rằng có gì đó không đúng với cách PHP được cấu hình trên máy chủ của tôi. Có ý kiến gì không?
Đây là kịch bản PHP nếu có ai muốn kiểm tra nó:
<?php
$field_name = trim($_POST['cf_name']);
$field_email = trim($_POST['cf_email']);
$field_subject = trim($_POST['cf_subject']);
$field_message = trim($_POST['cf_message']);
if (empty($field_name) && empty($field_email) && empty($field_subject) && empty($field_message) && !preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/", $field_email))
{
?>
<script language="javascript" type="text/javascript">
alert('One or more fields are invalid. Please fill out any empty fields and make sure your email address is valid.');
window.location = 'contact.html';
</script>
<?php
}
else if(empty($field_name))
{
?>
<script language="javascript" type="text/javascript">
alert('Please type in your name.');
window.location = 'contact.html';
</script>
<?php
}
else if(empty($field_email))
{
?>
<script language="javascript" type="text/javascript">
alert('Please type an email address.');
window.location = 'contact.html';
</script>
<?php
}
else if(empty($field_subject))
{
?>
<script language="javascript" type="text/javascript">
alert('Please type a subject.');
window.location = 'contact.html';
</script>
<?php
}
else if(empty($field_message))
{
?>
<script language="javascript" type="text/javascript">
alert('Please type a message.');
window.location = 'contact.html';
</script>
<?php
}
else if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/", $field_email))
{
?>
<script language="javascript" type="text/javascript">
alert('Please enter a valid email address.');
window.location = 'contact.html';
</script>
<?php
}
else
{
$mail_to = 'youremail@yourdomain.com';
$subject = "New message from...";
$body_message .= 'A message from a user of...'."\n\n";
$body_message .= 'From: '.$field_name."\n";
$body_message .= 'E-mail: '.$field_email."\n";
$body_message .= 'Subject: '.$field_subject."\n";
$body_message .= 'Message: '.$field_message;
$headers = "From:";
$mail_status = mail($mail_to, $subject, $body_message, $headers);
if ($mail_status) {
?>
<script language="javascript" type="text/javascript">
alert('Thanks for contacting me! I will respond as soon as possible.');
window.location = 'contact.html';
</script>
<?php
} else {
?>
<!-- This is triggering every time I submit the form -->
<script language="javascript" type="text/javascript">
alert('Message failed. Please try again later.');
window.location = 'contact.html';
</script>
<?php
}
}
?>
Biên tập
Các mặt lưu trữ của mọi thứ hoạt động tốt.