2015-03-12 3 views
1

У меня есть страница с контактными данными на веб-сайте, созданном для клиента, который я размещаю из подкаталога моего основного сайта. Когда кто-то отправляет сообщение с страницы «Связаться с нами», его отправляют на адрес владельца веб-сайта, но значения пустые. Но когда я тестировал те же две страницы из корневого каталога, они отлично работали.Все значения форм пустые, если они используются внутри подкаталога

Ниже приведен код.

HTML PAGE

<form id="main-contact-form" class="contact-form" name="contact-form" method="post" action="sendemail.php" role="form"> 
<div class="row"> 
    <div class="col-sm-5"> 
     <div class="form-group"> 
      <input name="fname" type="text" class="form-control" required="required" placeholder="First Name"> 
     </div> 
     <div class="form-group"> 
      <input name="lname" type="text" class="form-control" required="required" placeholder="Last Name"> 
     </div> 
     <div class="form-group"> 
      <input name="email" type="text" class="form-control" required="required" placeholder="Email address"> 
     </div> 
     <div class="form-group"> 
      <button type="submit" class="btn btn-primary btn-lg">Send Message</button> 
     </div> 
    </div> 
    <div class="col-sm-7"> 
     <textarea name="message" id="message" required="required" class="form-control" rows="8" placeholder="Message"></textarea> 
    </div> 
</div> 
</form> 

PHP FILE

<?php 
header('Content-type: application/json'); 
$status = array(
    'type'=>'success', 
    'message'=>'Email sent!' 
); 

$fname= @trim(stripslashes($_POST['fname'])); 
$lname = @trim(stripslashes($_POST['lname'])); 
$name = $fname.' '.$lname; 
$email = @trim(stripslashes($_POST['email'])); 
$message = @trim(stripslashes($_POST['message'])); 

$email_from = $email; 
$email_to = '[email protected]'; 

$body = 'Name: ' . $name . "\n\n" . 'Email: ' . $email . "\n\n" . 'Message: ' . $message; 

$success = @mail($email_to, 'An email from website\'s form', $body, 'From: <'.$email_from.'>'); 

echo json_encode($status); 
die; 

Когда я положил обе эти файлы в корневом каталоге (public_html) через файловый менеджер Cpanel, они прекрасно работают, но если Я помещаю их в подпапку, чем значения пустые.

Ниже приведены примеры.

Пример 1, при отправке из вложенной папки
enter image description here



Пример 2, при отправке образуют основной каталог
enter image description here

+0

звучит маловероятно –

+0

Да Братан, @Dagon Что вы имеете в виду под этим? –

+0

проверить файл журнала ошибок – Und3rTow

ответ

0

проверить файл "main.js" и заменить:

$.post($(this).attr(‘action’), function(data) { 

для

$.post($(this).attr('action'), $('.contact-form').serialize(), function(data) { 

полные "main.js" является:

jQuery(function($) { 

    //Ajax contact 
    var form = $('.contact-form'); 
     form.submit(function() { 
      $this = $(this); 
      $.post($(this).attr('action'), $('.contact-form').serialize(), function(data) { 
      $this.prev().text(data.message).fadeIn().delay(3000).fadeOut(); 
     },'json'); 
     return false; 
    }); 

    //Goto Top 
    $('.gototop').click(function(event) { 
     event.preventDefault(); 
     $('html, body').animate({ 
      scrollTop: $("body").offset().top 
     }, 500); 
    }); 
    //End goto top 

}); 
Смежные вопросы