Skip to main content
Participant
May 1, 2018
Question

Method not allowed error

  • May 1, 2018
  • 2 replies
  • 899 views

Hi.

I'm working on a contact form for my website. I've done this earlier this day and then all of it works fine, I received mails with questions that were filled in in the contactform. When I quitted Dreamweaver and took a look a couple of minutes ago I did get this error when I want to submit de contact form: {"code":"MethodNotAllowedError","message":"POST is not allowed"}

What did I do wrong? I'll put the HTML and PHP down here.

HTML:

<div class="col-md-6 col-sm-6 col-xs-12">

  <form name="contactform" method="post" action="send_form_email.php">

<table width="450px">

<tr>

<td valign="top">

  <label for="first_name">First Name *</label>

</td>

<td valign="top">

  <input  type="text" name="first_name" maxlength="50" size="30">

</td>

</tr>

<tr>

<td valign="top"">

  <label for="last_name">Last Name *</label>

</td>

<td valign="top">

  <input  type="text" name="last_name" maxlength="50" size="30">

</td>

</tr>

<tr>

<td valign="top">

  <label for="email">Email Address *</label>

</td>

<td valign="top">

  <input  type="text" name="email" maxlength="80" size="30">

</td>

</tr>

<tr>

<td valign="top">

  <label for="telephone">Telephone Number</label>

</td>

<td valign="top">

  <input  type="text" name="telephone" maxlength="30" size="30">

</td>

</tr>

<tr>

<td valign="top">

  <label for="comments">Comments *</label>

</td>

<td valign="top">

  <textarea  name="comments" maxlength="1000" cols="25" rows="6"></textarea>

</td>

</tr>

<tr>

<td colspan="2" style="text-align:center">

  <input type="submit" value="Submit">   <a href="http://www.freecontactform.com/email_form.php">Email Form</a>

</td>

</tr>

</table>

</form>

            </div>

          </div>

        </div>

PHP:

<?php

if(isset($_POST['email'])) {

    // EDIT THE 2 LINES BELOW AS REQUIRED

    $email_to = "info@mysite.nl";

    $email_subject = "Nieuw bericht ontvangen";

    function died($error) {

        // your error code can go here

        echo "We are very sorry, but there were error(s) found with the form you submitted. ";

        echo "These errors appear below.<br /><br />";

        echo $error."<br /><br />";

        echo "Please go back and fix these errors.<br /><br />";

        die();

    }

    // validation expected data exists

    if(!isset($_POST['first_name']) ||

        !isset($_POST['last_name']) ||

        !isset($_POST['email']) ||

        !isset($_POST['telephone']) ||

        !isset($_POST['comments'])) {

        died('We are sorry, but there appears to be a problem with the form you submitted.');     

    }

   

    $first_name = $_POST['first_name']; // required

    $last_name = $_POST['last_name']; // required

    $email_from = $_POST['email']; // required

    $telephone = $_POST['telephone']; // not required

    $comments = $_POST['comments']; // required

    $error_message = "";

    $email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';

  if(!preg_match($email_exp,$email_from)) {

    $error_message .= 'The Email Address you entered does not appear to be valid.<br />';

  }

    $string_exp = "/^[A-Za-z .'-]+$/";

  if(!preg_match($string_exp,$first_name)) {

    $error_message .= 'The First Name you entered does not appear to be valid.<br />';

  }

  if(!preg_match($string_exp,$last_name)) {

    $error_message .= 'The Last Name you entered does not appear to be valid.<br />';

  }

  if(strlen($comments) < 2) {

    $error_message .= 'The Comments you entered do not appear to be valid.<br />';

  }

  if(strlen($error_message) > 0) {

    died($error_message);

  }

    $email_message = "Form details below.\n\n";

   

    function clean_string($string) {

      $bad = array("content-type","bcc:","to:","cc:","href");

      return str_replace($bad,"",$string);

    }

   

    $email_message .= "First Name: ".clean_string($first_name)."\n";

    $email_message .= "Last Name: ".clean_string($last_name)."\n";

    $email_message .= "Email: ".clean_string($email_from)."\n";

    $email_message .= "Telephone: ".clean_string($telephone)."\n";

    $email_message .= "Comments: ".clean_string($comments)."\n";

// create email headers

$headers = 'From: '.$email_from."\r\n".

'Reply-To: '.$email_from."\r\n" .

'X-Mailer: PHP/' . phpversion();

@644699($email_to, $email_subject, $email_message, $headers);

?>

<!-- include your own success html here -->

Thank you for contacting us. We will be in touch with you very soon.

<?php

}

?>

Moderator Note: The email address has been changed according to forum guidelines

This topic has been closed for replies.

2 replies

Legend
May 1, 2018

At a guess you maybe trying too process a php page locally without having a local server set up?

MethodNotAllowedError while using a POST method in PHP

Participant
May 1, 2018

I think so. I filled in my server settings in Dreamweaver, but I don't really know.

Legend
May 1, 2018

Are you trying to view your pages locally, if so have you installed a local server like Mamp on your computer to parse php files and are your site documents in the http docs folder of your local server, does any of that sound familiar?

BenPleysier
Community Expert
Community Expert
May 1, 2018

I do not understand the link in

<input type="submit" value="Submit">   <a href="http://www.freecontactform.com/email_form.php">Email Form</a>

Wappler is the DMXzone-made Dreamweaver replacement and includes the best of their powerful extensions, as well as much more!
Participant
May 1, 2018

It's some kind of link where I got the form code from. I already deleted it, but it has nothing to do with te error.