2015-03-19 4 views
0

Я пытаюсь получить простую форму контакта для работы с моим сайтом wordpress, но не могу заставить его работать. Я не хочу использовать какой-либо плагин, я просто хочу сделать это с помощью PHP. Так что я положил этот файл в корневой директории моего WordPress установки на моем Hostgator размещается сайтКак отправить электронную почту с контактной формой на странице Wordpress

www.example.com/sendmail.php

<?php 
if(isset($_POST['submit'])){ 
$to = "[email protected]"; 
$from= $_POST['email']; 
$fname= $_POST['fname']; 
$lname= $_POST['lname']; 
$message= $_POST['message']; 
$subject = "Request email"; 
$headers = "From:" .$from; 

mail($to,$subject,$message,$headers); 
} 
?> 

Это бесконтактный образует на www.example.com/бесконтактный нас

<form action="http://www.example.com/sendmail.php" method="post"> 
         <fieldset> 
          <div class="form-group"> 
           <div class="col-md-12"> 
            <input id="fname" name="name" type="text" placeholder="First Name" class="form-control"> 
           </div> 
          </div> 
          <div class="form-group"> 
           <div class="col-md-12"> 
            <input id="lname" name="name" type="text" placeholder="Last Name" class="form-control"> 
           </div> 
          </div> 

          <div class="form-group"> 
           <div class="col-md-12"> 
            <input id="email" name="email" type="text" placeholder="Email Address" class="form-control"> 
           </div> 
          </div> 

          <div class="form-group"> 
           <div class="col-md-12"> 
            <input id="phone" name="phone" type="text" placeholder="Phone" class="form-control"> 
           </div> 
          </div> 

          <div class="form-group"> 
           <div class="col-md-12"> 
            <textarea class="form-control" id="message" name="message" placeholder="Enter your massage for us here. We will get back to you within 2 business days." rows="7"></textarea> 
           </div> 
          </div> 

          <div class="form-group"> 
           <div class="col-md-12 text-center"> 
<!--         <button type="submit" class="btn btn-primary btn-lg">Submit</button>--> 
             <input type="submit" name="submit" class="btn btn-primary btn-lg" value="Submit"> 
</div> 
          </div> 
         </fieldset> 
        </form> 

Если я пытаюсь посетить эту страницу www.example.com/sendmail.php, это дает 200 успеха ОК сообщение. Однако, если я попытаюсь заполнить форму и затем отправит электронное письмо, я не смогу ее получить.

Есть ли что-нибудь, что у меня отсутствует или мне нужно проверить?

ответ

0

Вы получаете эти переменные $fname= $_POST['fname']; $lname= $_POST['lname']; на sendmail.php

Но ваши HTML формы поле ввода не имеет имени для fname и lname.

Так используйте ниже:

<div class="form-group"> 
           <div class="col-md-12"> 
            <input id="fname" name="fname" type="text" placeholder="First Name" class="form-control"> 
           </div> 
          </div> 
          <div class="form-group"> 
           <div class="col-md-12"> 
            <input id="lname" name="lname" type="text" placeholder="Last Name" class="form-control"> 
           </div> 
          </div> 

Вместо:

<div class="form-group"> 
           <div class="col-md-12"> 
            <input id="fname" name="name" type="text" placeholder="First Name" class="form-control"> 
           </div> 
          </div> 
          <div class="form-group"> 
           <div class="col-md-12"> 
            <input id="lname" name="name" type="text" placeholder="Last Name" class="form-control"> 
           </div> 
          </div> 

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