0

I tried to make a simple contact form for a website I'm making. Here is the form:

        <form action="contactform.php" id="contactform" class="main-form needs-validation" method="post">
          <div class="row text-center justify-content-center">
              <div class="form-group col-md-9">
                  <label for="fname">First Name</label>
                  <input type="text" id="fname" name="firstname" placeholder="Your first name.." class="form-control">
                  <div class="invalid-feedback">Please enter your first name.</div>
              </div>
              <div class="form-group col-md-9">
                  <label for="lname">Last Name</label>
                  <input type="text" id="lname" name="lastname" placeholder="Your last name.." class="form-control">
                  <div class="invalid-feedback">Please enter your last name.</div>
              </div>
              <div class="form-group col-md-9">
                  <label for="email">Email</label>
                  <input type="email" id="email" name="email" placeholder="Your email.." class="form-control">
                  <div class="invalid-feedback">Please enter your email.</div>
              </div>
              <div class="form-group col-md-9">
                <label for="number">Number</label>
                <input type="number" id="number" name="number" placeholder="Your number.." class="form-control">
                <div class="invalid-feedback">Please enter your number.</div>
              </div>
              <div class="form-group col-md-9"> 
                  <label for="message">Subject</label>
                  <textarea id="message" name="message" placeholder="Write something.." class="form-control"></textarea>
                  <div class="invalid-feedback">Please submit a query.</div>
              </div>
              <div class="form-check col-md-9">
                <button type="submit" name="submit" value="Submit" class="btn btn-default">Submit</button>
              </div>
          </div>
        </form>

Here is contactform.php:

Thanks for your message!

<?php 
    if(isset($_POST['submit'])) {
        $fname = $_POST['fname'];
        $lname = $_POST['lname'];
        $email = $_POST['email'];
        $number = $_POST['number'];
        $message = $_POST['message'];

        $mailTo = "myemail@email.com";
        $headers = "From: ".$email.". Contact no: ".$number;
        $txt = "You have received an email from ".$fname." ".$lname."\n\n".$message;



        mail($mailTo, $txt, $headers);
        header("Location: index.html?mailsend");
    };
?>

When I click submit, the full contactform.php raw code appears on the browser, and no email is sent.

I am not using a server, I am accessing the file in browser via file:/// - could this have anything to do with it?

Very confused and have tried googling solutions but my code seems to be ok to me..

Thanks for help

Nancy Collins
  • 197
  • 4
  • 13
  • 3
    Browsers don't parse PHP. That happens on the server so, yes, that's the issue. You need to install some web server (or use PHPs built in server) – M. Eriksson Jan 23 '20 at 16:06
  • 1
    I bet you have `file://` in the browser address bar and not `http://`. Do you have a Webserve installed? – RiggsFolly Jan 23 '20 at 16:07
  • 1
    Also, if you dont have a mail server installed on your system, the `mail()` function in PHP wont do very much for you – RiggsFolly Jan 23 '20 at 16:08

0 Answers0