2015-01-09 3 views
0

Это файл php, который я сделал для сохранения ответов со страницы контактов моего файла в формате HTML, который также написан в конце.Файл PhP не работает

Даже после отправки данных в поле контакта я ничего не получаю.

Пожалуйста, попробуйте помочь мне с ошибкой.

PHP код

<?php 
// Check for empty fields 

if(empty($_POST['name'])  || 
empty($_POST['email'])  || 
empty($_POST['phone'])  || 
empty($_POST['message']) || 
!filter_var($_POST['email'],FILTER_VALIDATE_EMAIL)) 
{ 
echo "No arguments Provided!"; 
return false; 
} 

$name = $_POST['name']; 
$email_address = $_POST['email']; 
$phone = $_POST['phone']; 
$message = $_POST['message']; 

// Create the email and send the message 

$to = '[email protected]'; // This is where the form will send a message to. 
$email_subject = "Website Contact Form: $name"; 
$email_body = "You have received a new message from your website contact form.\n\n"."Here are the 
details:\n\nName: $name\n\nEmail: $email_address\n\nPhone: $phone\n\nMessage:\n$message"; 

$headers = "From: [email protected]\n"; 

$headers .= "Reply-To: $email_address"; 
mail($to,$email_subject,$email_body,$headers); 
return true;    
?> 

HTML КОД

<form name="sentMessage" id="contactForm" novalidate> 
    <div class="row control-group"> 
     <div class="form-group col-xs-12 floating-label-form-group controls"> 
      <label>Name</label> 
      <input type="text" class="form-control" placeholder="Name" id="name" required data-validation-required-message="Please enter your name."> 
      <p class="help-block text-danger"></p> 
     </div> 
    </div> 
    <div class="row control-group"> 
     <div class="form-group col-xs-12 floating-label-form-group controls"> 
      <label>Email Address</label> 
      <input type="email" class="form-control" placeholder="Email Address" id="email" required data-validation-required-message="Please enter your email address."> 
      <p class="help-block text-danger"></p> 
     </div> 
    </div> 
    <div class="row control-group"> 
     <div class="form-group col-xs-12 floating-label-form-group controls"> 
      <label>Phone Number</label> 
      <input type="tel" class="form-control" placeholder="Phone Number" id="phone" required data-validation-required-message="Please enter your phone number."> 
      <p class="help-block text-danger"></p> 
     </div> 
    </div> 
    <div class="row control-group"> 
     <div class="form-group col-xs-12 floating-label-form-group controls"> 
      <label>Message</label> 
      <textarea rows="5" class="form-control" placeholder="Message" id="message" required data-validation-required-message="Please enter a message."></textarea> 
      <p class="help-block text-danger"></p> 
     </div> 
    </div> 
    <br> 
    <div id="success"></div> 
    <div class="row"> 
     <div class="form-group col-xs-12"> 
      <button type="submit" class="btn btn-success btn-lg">Send</button> 
     </div> 
    </div> 
</form> 
+0

используйте error_reporting (E_ALL) и init_set («display_errors», 1) на верхней части файла, выполнить его снова, и дать нам сообщение об ошибке, которое occours после того, как сценарий не удается. –

ответ

1

Вы пропускаете метод и имя атрибуты.

Вы не указали способ Form. Если вы хотите использовать метод post, вы должны указать method="post".

Если вы не указываете метод формы, метод по умолчанию будет GET

Кроме того, следует добавить имя атрибута каждого поля ввода, то только вы можете получить доступ к тем, в сообщении.

Обновленное HTML код будет:

<form name="sentMessage" id="contactForm" novalidate method="post"> 
    <div class="row control-group"> 
     <div class="form-group col-xs-12 floating-label-form-group controls"> 
      <label>Name</label> 
      <input type="text" class="form-control" placeholder="Name" id="name" name="name" required data-validation-required-message="Please enter your name."> 
      <p class="help-block text-danger"></p> 
     </div> 
    </div> 
    <div class="row control-group"> 
     <div class="form-group col-xs-12 floating-label-form-group controls"> 
      <label>Email Address</label> 
      <input type="email" class="form-control" placeholder="Email Address" id="email" name="email" required data-validation-required-message="Please enter your email address."> 
      <p class="help-block text-danger"></p> 
     </div> 
    </div> 
    <div class="row control-group"> 
     <div class="form-group col-xs-12 floating-label-form-group controls"> 
      <label>Phone Number</label> 
      <input type="tel" class="form-control" placeholder="Phone Number" id="phone" name="phone" required data-validation-required-message="Please enter your phone number."> 
      <p class="help-block text-danger"></p> 
     </div> 
    </div> 
    <div class="row control-group"> 
     <div class="form-group col-xs-12 floating-label-form-group controls"> 
      <label>Message</label> 
      <textarea rows="5" class="form-control" placeholder="Message" id="message" name="message" required data-validation-required-message="Please enter a message."></textarea> 
      <p class="help-block text-danger"></p> 
     </div> 
    </div> 
    <br> 
    <div id="success"></div> 
    <div class="row"> 
     <div class="form-group col-xs-12"> 
      <button type="submit" name="submit" class="btn btn-success btn-lg">Send</button> 
     </div> 
    </div> 
</form> 

Посмотрите метод атрибут в форме и имя атрибута в полях ввода.

Надеется, что это помогает

+0

Он все еще не работает. Я ничего не получаю в своей почте. Я также проверил Спам. – hawkeye

+0

Пожалуйста, распечатайте вывод почты ($ to, $ email_subject, $ email_body, $ headers); Если он показывает 1, отправляется письмо. Возможно, вам нужно настроить свои настройки почты в своей системе. – Sabari

Смежные вопросы