0

My php form has stopped sending through new enquiries to my email ever since I updated it to submit to self.

I've tried both an email address I use with my website host and a gmail address. Any suggestions will be much appreciated.

<!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="you@example.com"  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 = "me@host.com";

$subject = "Enquiry";

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

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

?>

</body>

  • I disagree. Unlike the already answered question my code submits to self. When I change it to action=form.php it works fine but I want it to send email when it submits to self - this is not working. –  Feb 22 '17 at 00:35
  • I edited My answer check it – Nawin Feb 22 '17 at 05:20
  • That didn't work, but thank you. –  Feb 22 '17 at 21:19

2 Answers2

0

The syntax of php email sending function is:

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);

But in your case your parameter do not match with the required parameter. Follow the syntax and try again.

Mayank Pandeyz
  • 25,704
  • 4
  • 40
  • 59
0

You used extra parameters passed in your mail function.. I change some of your code look this.

    <!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="you@example.com"  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 = "me@host.com";

    $subject = "Enquiry";

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

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

    } 
?>

</body>
</html> 

If any Query comment here...

Nawin
  • 1,653
  • 2
  • 14
  • 23
  • Thank you. This code works but only when the action=form.php. It doesn't work with action="". –  Feb 22 '17 at 00:38