Jump to content

Contact form Help


Kalmykov

Recommended Posts

I've been combing forums for 2 weeks now trying to find a way to have a working contact form on my portfolio site. I couldn't have fathomed how difficult this task is turning out to be. I'm a competent HTML and CSS developer. PHP, however, is new to me. I've been studying up on it at treehouse and understand the basic $_POST,  echo, and !isset commands.
 
My site is live at http://kovcreation.com/
 
I'm not married to the contact form that's on there but i understand it entirely. I'm just so frustrated after trying many different solutions I just want it to work :suicide: !!! 
 
Any help is greatly appreciated 
 
Form HTML
 
<div class="contact_form">
                   
                           <div class="touch"> </div>   
                                       
                           <form id="contact_me_form" method="post" action="email.php">
                           
                              <div class="error_contact" id="name_error">Name is Required</div>
                              <input type="text" placeholder="Your Name (required)" id="name" class="textbox" />
                                               
                              <input type="text" name="email" id="email" placeholder="Your Email (required)" class="textbox email">
                              
                              <div class="error_contact" id="comment_error">Message is Required</div>                         
                              <textarea cols="25" rows="5" name="message" id="comment" class="textbox message" placeholder="Your Message ( Inquiry? , Freelance Work? , or Just to Say Hi...)"></textarea>
                             
                              <input type="image" src="img/send.png" alt="Send Message" name="submit" class="button submit_btn">
                                                
                           </form>
                           
                    </div>
 
email php 
 
<?php
if(isset($_POST['email'])) {
     
    // EDIT THE 2 LINES BELOW AS REQUIRED
    $email_to = "michael@kovcreation.com";
    $email_subject = "Contact from portfolio site";
     
     
    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['email']) ||
        !isset($_POST['message'])) {
        died('We are sorry, but there appears to be a problem with the form you submitted.');       
    }
     
    $first_name = $_POST['name']; // required
    $email_from = $_POST['email']; // required
    $message = $_POST['message']; // 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,$name)) {
    $error_message .= 'The First Name you entered does not appear to be valid.<br />';
  }

  }
  if(strlen($message) < 2) {
    $error_message .= 'The message 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 .= "Name: ".clean_string($name)."\n";
    $email_message .= "Email: ".clean_string($email_from)."\n";
    $email_message .= "Message: ".clean_string($message)."\n";
     
     
// create email headers
$headers = 'From: '.$email_from."\r\n".
'Reply-To: '.$email_from."\r\n" .
'X-Mailer: PHP/' . phpversion();
@mail($email_to, $email_subject, $email_message, $headers);  
?>


<p>Thank you for contacting us. We will be in touch with you very soon.</p>

<?php
}
?>
 
Thanks for reading

 

email.php

index.html

style.css

Link to comment
Share on other sites

There appears to be an extra curly bracket here:

<?php
}
 
}  //<-- extra bracket here
if(strlen($message) < 2) {
$error_message .= 'The message you entered do not appear to be valid.<br />';
}
?>
Also, you should remove the error suppression character from the call to the mail() function. Instead, you should test if the mail was accepted for delivery. For example:
<?php
if(mail($email_to, $email_subject, $email_message, $headers)) {
     //mail queued successfully
} else {
     //mail failed
}
?>

 

Link to comment
Share on other sites

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.