0

I am trying to create a contact me form with HTML and PHP but whenever someone try to send me a message it gives an error.

here is my HTML code:

<div class="col-lg-9">
    <form class="row contact_form" action="contact_process.php" method="post" id="contactForm" novalidate="novalidate">
        <div class="col-md-6">
            <div class="form-group">
                <input type="text" class="form-control" id="name" name="name" placeholder="Enter your name">
            </div>
            <div class="form-group">
                <input type="email" class="form-control" id="email" name="email" placeholder="Enter email address">
            </div>
            <div class="form-group">
                <input type="text" class="form-control" id="subject" name="subject" placeholder="Enter Subject">
            </div>
        </div>
        <div class="col-md-6">
            <div class="form-group">
                <textarea class="form-control" name="message" id="message" rows="1" placeholder="Enter Message"></textarea>
            </div>
        </div>
        <div class="col-md-12 text-right">
            <button type="submit" value="submit" class="primary_btn">
                <span>Send Message</span>
            </button>
        </div>
    </form>
</div>

and it is associated with a PHP file contact_process.php and here it is:

<?php

    $to = "mygmail.com";
    $from = $_REQUEST['email'];
    $name = $_REQUEST['name'];
    $subject = $_REQUEST['subject'];
    $number = $_REQUEST['number'];
    $cmessage = $_REQUEST['message'];

    $headers = "From: $from";
    $headers = "From: " . $from . "\r\n";
    $headers .= "Reply-To: ". $from . "\r\n";
    $headers .= "MIME-Version: 1.0\r\n";
    $headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";

    $subject = "You have a message from your Bitmap Photography.";

    $logo = 'img/logo.png';
    $link = '#';

    $body = "<!DOCTYPE html><html lang='en'><head><meta charset='UTF-8'><title>Express Mail</title></head><body>";
    $body .= "<table style='width: 100%;'>";
    $body .= "<thead style='text-align: center;'><tr><td style='border:none;' colspan='2'>";
    $body .= "<a href='{$link}'><img src='{$logo}' alt=''></a><br><br>";
    $body .= "</td></tr></thead><tbody><tr>";
    $body .= "<td style='border:none;'><strong>Name:</strong> {$name}</td>";
    $body .= "<td style='border:none;'><strong>Email:</strong> {$from}</td>";
    $body .= "</tr>";
    $body .= "<tr><td style='border:none;'><strong>Subject:</strong> {$csubject}</td></tr>";
    $body .= "<tr><td></td></tr>";
    $body .= "<tr><td colspan='2' style='border:none;'>{$cmessage}</td></tr>";
    $body .= "</tbody></table>";
    $body .= "</body></html>";

    $send = mail($to, $subject, $body, $headers);

?>

So can you please let me know where I am doing it wrong

David
  • 208,112
  • 36
  • 198
  • 279

1 Answers1

0

Change the code ( of all variable):

$number = $_REQUEST['number'];

to

$number = $_POST['number'];

And for check mail sent change:

$send = mail($to, $subject, $body, $headers);

to

if(mail($to, $subject, $body, $headers)){

echo 'done';
}else{
echo 'mail not sent';
}
Simone Rossaini
  • 8,115
  • 1
  • 13
  • 34