2017-02-21 3 views
0

Моя форма php прекратила отправлять новые запросы на мой адрес электронной почты с тех пор, как я обновил его, чтобы подчинить себя.php form email не отправляется, когда action = submit to self

Я пробовал как адрес электронной почты, используемый с моим веб-узлом, так и адресом gmail. Любые предложения будут высоко оценены.

<!DOCTYPE HTML> 
<html> 
<head> 
</head> 
<body> 
    <div class="col-lg-12">  
     <h2>Contact us!</h2> 
     <form class="form-horizontal" name="enquiryform" method="post" action=""> 

    <div class="form-group-lg"> 
      <label class="control-label col-xs-4" for="name">Name *</label> 
      <div class="col-xs-8"> 
      <input type="text" class="form-control" id="name" placeholder="First name" name="name" required> 
      </div> 
      </div> 

      <div class="form-group-lg"> 
      <label class="control-label col-xs-4" for="surname">Surname</label> 
      <div class="col-xs-8"> 
      <input type="text" class="form-control" id="surname" placeholder="Last name" name="surname"> 
      </div> 
      </div> 

      <div class="form-group-lg"> 
      <label class="control-label col-xs-4" for="email">Email *</label> 
      <div class="col-xs-8"> 
      <input type="email" class="form-control" id="email" placeholder="[email protected]" name="email" required> 
      </div> 
      </div> 

      <div class="form-group-lg"> 
      <label class="control-label col-xs-4" for="mobile">Mobile</label> 
      <div class="col-xs-8"> 
      <input type="tel" class="form-control" id="mobile" placeholder="Phone number" name="mobile"> 
      </div> 
      </div> 

      <div class="form-group-lg"> 
      <label class="control-label col-xs-4" for="message" name="message">Enquiry:</label> 
      <textarea class="form-control" id="message" rows="6" name="message" placeholder="Your message." required></textarea> 

      <div class="form-group"> 
      <div class="col-xs-12"> 
      <input type="submit" class="btn btn-primary" value="Submit"> 
      </div> 
      </div> 
      </div> 
     </form> 
    </div> 
</div> 
<p></p> 

<?php 

$name = $_POST['name']; 
$surname = $_POST['surname']; 
$email = $_POST['email']; 
$mobile = $_POST['mobile']; 
$message = $_POST['message']; 

$formcontent="From: $email \n $name \n $surname \n $mobile \n Message: $message"; 

$recipient = "[email protected]"; 

$subject = "Enquiry"; 

$mailheader = "From: $email \r\n"; 

mail($recipient, $subject, $formcontent, $mailheader) or die("Error!"); 

?> 

</body> 

+0

я не согласен. В отличие от уже ответившего вопроса, мой код подчиняется самому себе. Когда я меняю его на action = form.php, он отлично работает, но я хочу, чтобы он отправлял электронное письмо, когда он подчиняется самому себе - это не работает. –

+0

Я отредактировал Мой ответ проверить это – Nawin

+0

Это не сработало, но спасибо. –

ответ

0

Синтаксис PHP электронной почты функции отправки является:

bool mail (string $to , string $subject , string $message [, string $additional_headers [, string $additional_parameters ]]) 

mail($admin_email, "$first_name", $last_name, "$telephone", "$comments", "From:" . $email); 

Но в вашем случае, если ваш параметр не совпадает с требуемым параметром. Следуйте синтаксису и повторите попытку.

+0

Спасибо, ты был прав, но он все еще не работает. –

+0

Теперь в чем проблема? –

+0

То же самое происходит, т. Е. Представленные формы не попадают в мой адрес электронной почты. –

0

Вы использовали дополнительные параметры, переданные в вашей почтовой функции. Я меняю часть вашего кода.

<!DOCTYPE HTML> 
<html> 
<head> 
</head> 
<body> 
    <?php 
$action=$_REQUEST['action']; 
if ($action=="") 
    { 
    ?> 
    <div class="col-lg-12"> 

     <h2>Contact us!</h2> 
     <form class="form-horizontal" name="enquiryform" method="post" action=""> 

    <div class="form-group-lg"> 
      <label class="control-label col-xs-4" for="first_name">Name *</label> 
      <div class="col-xs-8"> 
      <input type="text" class="form-control" id="name" placeholder="First name" name="name" required> 
      </div> 
      </div> 

      <div class="form-group-lg"> 
      <label class="control-label col-xs-4" for="surname">Surname</label> 
      <div class="col-xs-8"> 
      <input type="text" class="form-control" id="surname" placeholder="Last name" name="surname"> 
      </div> 
      </div> 

      <div class="form-group-lg"> 
      <label class="control-label col-xs-4" for="inputEmail">Email *</label> 
      <div class="col-xs-8"> 
      <input type="email" class="form-control" id="inputEmail" placeholder="[email protected]" name="email" required> 
      </div> 
      </div> 

      <div class="form-group-lg"> 
      <label class="control-label col-xs-4" for="telephone">Mobile</label> 
      <div class="col-xs-8"> 
      <input type="tel" class="form-control" id="Mobile" placeholder="Phone number" name="mobile"> 
      </div> 
      </div> 

      <div class="form-group-lg"> 
      <label class="control-label col-xs-4" for="exampleTextarea" name="message">Enquiry:</label> 
      <textarea class="form-control" id="exampleTextarea" rows="6" name="message" placeholder="Your message." required></textarea> 

      <div class="form-group"> 
      <div class="col-xs-12"> 
      <input type="submit" class="btn btn-primary" value="Submit"> 
      </div> 
      </div> 
      </div> 
     </form> 
    </div> 
</div> 
<p></p> 
<?php 
    } 
else    
    { 
    $name = $_REQUEST['name']; 
    $surname = $_REQUEST['surname']; 
    $email = $_REQUEST['email']; 
    $mobile = $_REQUEST['mobile']; 
    $message = $_REQUEST['message']; 

    $formcontent="From: $email \n $name \n $surname \n $mobile \n Message: $message"; 

    $recipient = "[email protected]"; 

    $subject = "Enquiry"; 

    $mailheader = "From: $email \r\n"; 

    mail($recipient, $subject, $formcontent, $mailheader) or die("Error!"); 

    } 
?> 

</body> 
</html> 

Если какой-либо запрос комментарий здесь ...

+0

Спасибо. Этот код работает, но только когда action = form.php. Он не работает с действием = "". –