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