Today's Posts Follow Us On Twitter! TFL Members on Twitter  
Forum search: Advanced Search  
Navigation
Marketplace
  Members Login:
Lost password?
  Forum Statistics:
Forum Members: 24,254
Total Threads: 80,792
Total Posts: 566,471
There are 1438 users currently browsing (tf).
 
  Our Partners:
 
  TalkFreelance     Design and Development     Programming     PHP and MySQL :

Adding html output for Error Messages in contact form...

Thread title: Adding html output for Error Messages in contact form...
Closed Thread    
    Thread tools Search this thread Display Modes  
03-26-2009, 02:38 AM
#1
Cruxcreations is offline Cruxcreations
Cruxcreations's Avatar
Status: I'm new around here
Join date: Mar 2009
Location: Arizona
Expertise:
Software:
 
Posts: 2
iTrader: 0 / 0%
 

Cruxcreations is on a distinguished road

Send a message via AIM to Cruxcreations

  Old  Adding html output for Error Messages in contact form...

Is there anyway to show error messages in html like the successful message is doing? I dont like the white page for error messages.. thanks.

PHP Code:
<?php
if(isset($_POST['email'])) {
    
    
// EDIT THE 2 LINES BELOW AS REQUIRED
    
$email_to "admin@whatever.net";
    
$email_subject "Inquiry from Contact Form";
    
    
    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['website']) ||
        !isset(
$_POST['comments'])) {
        
died('We are sorry, but there appears to be a problem with the form you submitted.');        
    }
    
    
$name $_POST['name']; // required
    
$email_from $_POST['email']; // required
    
$website $_POST['website']; // not required
    
$comments $_POST['comments']; // required
    
    
$error_message "";
    
$email_exp "^[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$";
  if(!
eregi($email_exp,$email_from)) {
      
$error_message .= 'The Email Address you entered does not appear to be valid.<br />';
  }
    
$string_exp "^[a-z .'-]+$";
  if(!
eregi($string_exp,$name)) {
      
$error_message .= 'Your Name may not contain any numbers or symbols.<br />';
  }
  if(
strlen($comments) < 5) {
      
$error_message .= 'The message must contain at least 5 letters.<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 .= "Website: ".clean_string($website)."\n";
    
$email_message .= "Message: ".clean_string($comments)."\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);  
?>

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

<?php include("header.php"); ?>
<img src="images/contact.jpg" alt="" id="subhead" />
<div id="content">
<p class="thanks">Thank you for contacting us, we will respond to your e-mail within 24 hours!</p>
</div>

<?php include("footer.php"); ?>

<?
}
?>

03-26-2009, 10:16 AM
#2
Normo is offline Normo
Normo's Avatar
Status: Member
Join date: Aug 2008
Location: Hampshire, UK
Expertise:
Software:
 
Posts: 202
iTrader: 1 / 100%
 

Normo is on a distinguished road

  Old

This will output the error message the same as the success message, just change the error message in the function.
PHP Code:
<?php include("header.php");

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

// EDIT THE 2 LINES BELOW AS REQUIRED
$email_to "admin@whatever.net";
$email_subject "Inquiry from Contact Form";


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 />";
}

// validation expected data exists
if(!isset($_POST['name']) ||
!isset(
$_POST['email']) ||
!isset(
$_POST['website']) ||
!isset(
$_POST['comments'])) {
died('We are sorry, but there appears to be a problem with the form you submitted.');
}

$name $_POST['name']; // required
$email_from $_POST['email']; // required
$website $_POST['website']; // not required
$comments $_POST['comments']; // required

$error_message "";
$email_exp "^[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$";
if(!
eregi($email_exp,$email_from)) {
$error_message .= 'The Email Address you entered does not appear to be valid.<br />';
}
$string_exp "^[a-z .'-]+$";
if(!
eregi($string_exp,$name)) {
$error_message .= 'Your Name may not contain any numbers or symbols.<br />';
}
if(
strlen($comments) < 5) {
$error_message .= 'The message must contain at least 5 letters.<br />';
}
if(
strlen($error_message) > 0) {
died($error_message);
} else{
echo 
"<img src=\"images/contact.jpg\" alt=\"\" id=\"subhead\" />
<div id=\"content\">
<p class=\"thanks\">Thank you for contacting us, we will respond to your e-mail within 24 hours!</p>
</div>"
;
}
$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 .= "Website: ".clean_string($website)."\n";
$email_message .= "Message: ".clean_string($comments)."\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);  


include(
"footer.php");
}
?>

03-26-2009, 10:18 AM
#3
phpfreelancerbe is offline phpfreelancerbe
Status: I'm new around here
Join date: Mar 2009
Location:
Expertise:
Software:
 
Posts: 2
iTrader: 0 / 0%
 

phpfreelancerbe is on a distinguished road

  Old

If a client wants fancy validation i mostly use http://www.livevalidation.com/

Of course all user input is tainted so you still need to filter all input to make your application secure. It is best you use whitelist method for total control. You can check if input is alphanumeric with ctype_alnum(); you can also use regular expressions to filter everything out of a string so you only are left with alphanumeric data.

Example
PHP Code:
<?php 
if(!ctype_alnum($_POST['name'])) { 
    
$name preg_replace('/[^A-Za-z0-9 ]/''',$_POST['name']); 
} else { 
    echo 
"WIN"

?>
Hope this was what you were looking for.

03-26-2009, 03:22 PM
#4
Cruxcreations is offline Cruxcreations
Cruxcreations's Avatar
Status: I'm new around here
Join date: Mar 2009
Location: Arizona
Expertise:
Software:
 
Posts: 2
iTrader: 0 / 0%
 

Cruxcreations is on a distinguished road

Send a message via AIM to Cruxcreations

  Old

Thank You! worked great

Closed Thread    


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 

  Posting Rules  
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump:
 
  Contains New Posts Forum Contains New Posts   Contains No New Posts Forum Contains No New Posts   A Closed Forum Forum is Closed