Jump to content

form validation


lamboman

Recommended Posts

Forms are not my strong point.Below I have the form and it works fine. I also have a validator script below that works as it is but I want to add the comment part to it and whatever I do it seems to not work.

<form action="send_form_email.php" method="post">
<div class="one_third first">
<label for="first_name">Name <span>*</span></label>
<input type="text" name="first_name" id="first_name" value="" size="22" required>
</div>
<div class="one_third">
<label for="email">Mail <span>*</span></label>
<input type="email" name="email" id="email" value="" size="22" required>
</div>
<div class="block clear">
<label for="comment">Your Comment</label>
<textarea name="comment" id="comment" cols="25" rows="10"></textarea>
</div>
<div>
<input type="submit" name="submit" value="Submit Form">
 
<input type="reset" name="reset" value="Reset Form">
</div>
</form>





<?php

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



// EDIT THE 2 LINES BELOW AS REQUIRED

$email_to = "My email";

$email_subject = "Inquiry from 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['first_name']) ||

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

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

}



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

$email_from = $_POST['email']; // 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(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 .= "Email: ".clean_string($email_from)."\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 -->



We will be getting back to you as soon as possble.

<body onLoad="timer=setTimeout(function(){ window.location='http://whatever.com';}, 5000)">
<p>You will be redirected in 5 seconds</p>
</body>

<?php

}

?>

Link to comment
Share on other sites

i haven't added it in there yet, thats what im asking. I added it in in as:

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

I just kept getting errors. I am assuming I have to add in this line but again no mater what I added I got an error

 

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

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

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

}

 

But to be honest i dont really care about a validator on the comments. i dont really care if it gets filled, just need it to pass threw to e-mail.

 

I also tried the following just to pass to e-mail without validation but it did not work. I may have added in the wrong place.

 

$email_from = $_POST['comment'];

Edited by lamboman
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.