Jump to content

php and html contact form help


Go to solution Solved by cyberRobot,

Recommended Posts

Hi Can someone help me with my contact form please? I'm getting this error message:

 

We are very sorry, but there were error(s) found with the form you submitted. These errors appear below.

The Address you entered does not appear to be valid.
The Email Address you entered does not appear to be valid.


Please go back and fix these errors.

 

Here is my php code:

 

PHP

 

 

<?php
if(isset($_POST['email'])) {
 
    // CHANGE THE TWO LINES BELOW
    $email_to = "info@lmydomain.com";
 
    $email_subject = "website html form submissions";
 
 
    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['name']) ||
        !isset($_POST['telephone']) ||
        !isset($_POST['email']) ||
        !isset($_POST['address']) ||
        !isset($_POST['postcode']) ||
        !isset($_POST['message'])) {
        died('We are sorry, but there appears to be a problem with the form you submitted.');
    }
 
    $name = $_POST['name']; // required
    $telephone = $_POST['telephone']; // required
    $email = $_POST['email']; // required
    $address = $_POST['address']; // required
    $postcode = $_POST['postcode']; // not required
    $message = $_POST['message']; // required
 
    $error_message = "";
    
    $string_exp = "/^[A-Za-z .'-]+$/";
  if(!preg_match($string_exp,$name)) {
    $error_message .= 'The Name you entered does not appear to be valid.<br />';
  }
  if(!preg_match($string_exp,$address)) {
    $error_message .= 'The Address you entered does not appear to be valid.<br />';
  }
  $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 />';
  }
  if(strlen($message) < 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($name)."\n";
    $email_message .= "Telephone: ".clean_string($telephone)."\n";
    $email_message .= "Email Address: ".clean_string($email)."\n";
    $email_message .= "Address: ".clean_string($address)."\n";
    $email_message .= "Postcode: ".clean_string($postcode)."\n";
    $email_message .= "Type_your_enquiry_here: ".clean_string($message)."\n";
 
// create email headers
$headers = 'From: '.$email."\r\n".
'Reply-To: '.$email."\r\n" .
'X-Mailer: PHP/' . phpversion();
@mail($email_to, $email_subject, $email_message, $headers);
?>
 
<!-- place your own success html below -->
Thank you for contacting us. We will be in touch with you shortly.
 
<?php
}
die();
?>
Edited by cyberRobot
added [code][/code] tags
Link to comment
https://forums.phpfreaks.com/topic/298468-php-and-html-contact-form-help/
Share on other sites

Hi Can someone help me with my contact form please? I'm getting this error message:

 

We are very sorry, but there were error(s) found with the form you submitted. These errors appear below.

 

The Address you entered does not appear to be valid.

The Email Address you entered does not appear to be valid.

 

 

Please go back and fix these errors.

 

Has the form worked before? Do you always get those errors no matter what is entered into the address and email address fields? It would also help to know what you are entering into those form fields.

 

Side note: PHP has a built-in process for validating email addresses. More information can be found here:

http://php.net/manual/en/filter.examples.validation.php

  • Solution

One thing that I noticed is that the email entered through the form is being saved to $email.

$email = $_POST['email'];

But the if test uses $email_from.

if(!preg_match($email_exp,$email_from)) {
Edited by cyberRobot
 <!--contact-->

                        <div class="contact" id="contact">

                            <h3 class="tittle two">Contact us</h3>

                            <div class="contact-top">

                                <div class="col-md-8 contact-top-right">

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

                                        

                                        <input type="text" name="name" class="text" value="Name" onfocus="this.value = '';" onblur="if (this.value == '') {this.value = 'name';}">

                                        <input type="text" name="telephone" class="text" value="Telephone" onfocus="this.value = '';" onblur="    if (this.value == '') { this.value = 'telephone'; }">

                                        <input type="text" name="email" class="text" value="Email Address" onfocus="this.value = '';" onblur="if (this.value == '') {this.value = 'email';}">

                                        <input type="text" name="address" class="text" value="Address" onfocus="this.value = '';" onblur="    if (this.value == '') { this.value = 'address'; }">

                                        <input type="text" name="postcode" class="text" value="Postcode" onfocus="this.value = '';" onblur="    if (this.value == '') { this.value = 'postcode'; }">

                                        <textarea name="message" value="Type your enquiry here" onfocus="this.value = '';" onblur="    if (this.value == '') { this.value = 'Type your enquiry here'; }">Type your enquiry here</textarea>

                                        <div class="sub-button">

                                            <input type="submit" value="SEND"><a href="http://www.mydomain.com/html_form_send.php"></a>

                                        </div>

                                    </form>

Edited by klio909
<?php

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

 

    // CHANGE THE TWO LINES BELOW

    $email_to = "info@.com";

 

    $email_subject = "website html form submissions";

 

 

    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['name']) ||

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

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

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

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

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

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

    }

 

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

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

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

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

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

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

 

    $error_message = "";

    

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

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

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

  }

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

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

  }

  $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 />';

  }

  if(strlen($message) < 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($name)."\n";

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

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

    $email_message .= "Address: ".clean_string($address)."\n";

    $email_message .= "Postcode: ".clean_string($postcode)."\n";

    $email_message .= "Type_your_enquiry_here: ".clean_string($message)."\n";

 

// create email headers

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

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

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

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

?>

 

<!-- place your own success html below -->

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

 

<?php

}

die();

?>

Are you entering numbers into the "address" field? If so, that's not going to work with how the regular expression is set up.

 

Is there a reason you're trying to validate the mailing address? I imagine it will be difficult to make sure every valid character is accounted for.

Edited by cyberRobot
This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.