405 HTTP Error on submitting data on PHP / HTML form
I am building a form that the filled data need to be sent to an email. I am using HTML and PHP. But Unfortunately I get the following error when I press SUBMIT button.
405 - HTTP verb used to access this page is not allowed. The page you are looking for cannot be displayed because an invalid method (HTTP verb) was used to attempt access
The PHP code is :
<?php
if (isset($_POST['submit'])) {
$name = $_POST['name'];
$visitor_email = $_POST['email'];
$message = $_POST['message'];
$email_subject = "NEW MESSAGE VIA CONTACT FORM";
$email_body = "You have received a new message from the user ".$name. ".\n".$message;
$to = "[email protected]"
$headers = "From: ".$visitor_email;
mail($to, $email_subject, $email_body, $headers);
header("Location: index.html?mailsend");
}
?>
The HTML form is :
<form method="POST" class="contact-form" actions="contactform.php">
<input type="text" name="name" placeholder="Full Name">
<input type="text" name="mobile" placeholder="Your Mobile Phone">
<input type="text" name="email" placeholder="Your E-mail">
<textarea class="materialize-textarea" name="message" placeholder="Your Message"></textarea>
<input type="submit" value="Submit" class="btn">
</form>
UPDATE: with this edit on code: action="contactform.php" , I dont get the error but the email is not send
FINAL SOLUTION: Changed the php file to this:
$headers = "From: ";
$headers .= $visitor_email;
mail($to, $email_subject, $email_body, $headers);
header('Location: ../');
I found the problem via the log files in the webserver
Solution 1:
maybe you wrote actions instead of action in the form's attribute
actions="contactform.php"
should be
action="contactform.php"