Quantcast
Channel: PHP Freaks: PHP Help
Viewing all articles
Browse latest Browse all 13200

Form Required Field

$
0
0

Hello,

I obtained this code for a php form including a Captcha that I have modified.  My question is, how do I make a field "not required", but if filled out, the entry will also be sent with the form?  I'm planning to add fields for fax, address, etc that won't be necessary, but helpful if entered.  Thank you.

 

Here is my code:

 

<?php
 
if(isset($_POST['submitted'])) {
 
require_once('captcha/recaptchalib.php');
 
$privatekey = "6Ldke-wSAAAAAPrYCfs4gR28Y10hEttom0ax-nKD";
 
$resp = recaptcha_check_answer ($privatekey,
$_SERVER["REMOTE_ADDR"],
$_POST["recaptcha_challenge_field"],
$_POST["recaptcha_response_field"]);
 
 
if(trim($_POST['checking']) !== '') {
$blindError = true;
} else {
 
$authorName = (filter_var($_POST['formAuthor'], FILTER_SANITIZE_STRING));
if ($authorName == ""){
$authorError = true;
$hasError = true;
}else{
$formAuthor = $authorName;
};
 
 
$authorEmail = (filter_var($_POST['formEmail'], FILTER_SANITIZE_EMAIL));
if (!(filter_var($authorEmail, FILTER_VALIDATE_EMAIL))){
$emailError = true;
$hasError = true;
} else{
$formEmail = $authorEmail;
};
 
$msgSubject = (filter_var($_POST['formSubject'], FILTER_SANITIZE_STRING));
if ($msgSubject == ""){
$subjectError = true;
$hasError = true;
}else{
$formSubject = $msgSubject;
};
 
//Check to make sure content has been entered
$msgContent = (filter_var($_POST['formContent'], FILTER_SANITIZE_STRING));
if ($msgContent == ""){
$commentError = true;
$hasError = true;
}else{
$formContent = $msgContent;
};
 
if (($resp->is_valid) && (!isset($hasError))) {
$emailTo = 'kcelsi@littlechisel.com'; // here you must enter the email address you want the email sent to
$subject = 'Marketing Inquiry From: ' . $formAuthor . ' | ' . $formSubject; // This is how the subject of the email will look like
$body = "Email: $formEmail \n\nContent: $formContent  \n\n$formAuthor"; // This is the body of the email
$headers = 'From: <'.$formEmail.'>' . "\r\n" . 'Reply-To: ' . $formEmail . "\r\n" . 'Return-Path: ' . $formEmail; // Email headers
 
mail($emailTo, $subject, $body, $headers);
 
$emailSent = true;
}
 
if (!($resp->is_valid)){
$captchaErrorMsg = true;
}
}
} ?>
 
<?php // if the page the variable "email sent" is set to true show confirmation instead of the form ?>
<?php if(isset($emailSent) && $emailSent == true) { ?>
        <style type="text/css">
#wrapper {
width: 960px;
margin-right: auto;
margin-left: auto;
}
#content {
font-family: Verdana, Geneva, sans-serif;
text-align: center;
}
.thankyou {
font-size: 24px;
font-weight: bold;
}
.text {
margin-top: -5px;
padding-top: 0px;
font-size: 16px;
}
a {
color: #900;
text-decoration: none;
font-size: 14px;
}
</style>
</head>
 
<body>
<div id="wrapper">
  <div id="content">
    <p class="thankyou">Thank You</p>
    <p class="text">Your form has been submitted and someone from Ideal Window will contact you shortly.</p>
  <a href="http://www.idealwindow.com/">Back to Ideal Window Home Page</a> </div>
</div>
            
<?php } else { ?>
<?php // if there are errors in the form show a message ?>
<?php if(isset($hasError) || isset($blindError)) { ?>
<p>There was an error submitting the form. Please check all the marked fields.</p>
<?php } ?>
<?php // if there are recaptcha errors show a message ?>
<?php if ($captchaErrorMsg){ ?>
<p>Captcha error. Please, type the check-words again.</p>
<?php } ?>
<?php 
 
?>
<script type="text/javascript">
var RecaptchaOptions = {
theme : 'clean'
};
</script>
<?php
 
?>
<form id="contactForm" action="" method="post">
<div id="singleParagraphInputs">
<div>
<label for="formAuthor">
Full Name
</label>
<input class="requiredField <?php if($authorError) { echo 'formError'; } ?>" type="text" name="formAuthor" id="formAuthor" value="<?php if(isset($_POST['formAuthor']))  echo $_POST['formAuthor'];?>" size="40" />
</div>
<div>
<label for="formEmail">
Email
</label>
<input class="requiredField <?php if($emailError) { echo 'formError'; } ?>" type="text" name="formEmail" id="formEmail" value="<?php if(isset($_POST['formEmail']))  echo $_POST['formEmail'];?>" size="40" />
</div>
<div>
<label for="formSubject">
Subject
</label>
<input class="requiredField <?php if($subjectError) { echo 'formError'; } ?>" type="text" name="formSubject" id="formSubject" value="<?php if(isset($_POST['formSubject']))  echo $_POST['formSubject'];?>" size="40" />
</div>
</div>
<div id="commentTxt">
<label for="formContent">
Message
</label>
<textarea class="requiredField <?php if($commentError) { echo 'formError'; } ?>" id="formContent" name="formContent" cols="40" rows="5"><?php if(isset($_POST['formContent'])) { if(function_exists('stripslashes')) { echo stripslashes($_POST['formContent']); } else { echo $_POST['formContent']; } } ?></textarea>
<?php 
 
?>
<div id="screenReader">
<label for="checking">
If you want to submit this form, do not enter anything in this field
</label>
<input type="text" name="checking" id="checking" value="<?php if(isset($_POST['checking']))  echo $_POST['checking'];?>" />
</div>
</div>
<?php
 
require_once('captcha/recaptchalib.php');
 
$publickey = "6Ldke-wSAAAAAE7yRt4cUb3G6hYU__6JIwsc6lwL";
 
echo recaptcha_get_html($publickey);
?>
<input type="hidden" name="submitted" id="submitted" value="true" />
<?php // submit button ?>
<input type="submit" value="Send Message" tabindex="5" id="submit" name="submit">
</form>
<?php } // yay! that's all folks! ?>
 
</script>
        <script src="js/custom.js" type="text/javascript">
</script>
 
 
CSS:
 
body{
font: 14px/1.5em sans-serif;
margin: 0;
padding: 0;
}
 
label {
    display: block;
    padding: 1px 7px 0;
    position: absolute;
    top: 0;
    z-index: 1;
}
 
input[type="text"], textarea {
    display: block;
    background: none;
    font: inherit;
    padding: 0 7px;
    position: relative;
    z-index: 10;
overflow: auto; 
}
 
label, input[type="text"], #singleParagraphInputs div{
line-height: 1.5em;
height: 1.5em;
}
 
#singleParagraphInputs div, #commentTxt, #recaptcha_widget_div{
margin-bottom: 1.5em;
}
 
input, textarea, #recaptcha_table{
border: 1px solid #ccc;
}
 
.formError {
    border: 1px solid red;
}
 
#contactForm, #recaptcha_table{
width: 600px;
margin: 0 auto;
margin-top: 50px;
}
 
#singleParagraphInputs div, #commentTxt {
    position: relative;
}
 
#singleParagraphInputs input {
    width: 584px; /* 16px less than form width
}
 
#commentTxt textarea {
    min-height: 9em;
min-width: 584px; /* 16px less than form width 
font: 14px/1.5em sans-seif;
}
 
#screenReader, #checking {
    float: left;
display: none;
}
 
#recaptcha_response_field {
    width: 286px !important; 
}
 
input[type="submit"]{
}
 
javascript:
 
$(function(){
 
 
 
$formItems = $("input:text, textarea");
 
$formItems
// fires after the page has loaded
// if the field has already some value the label becomes invisible
.each(function(){
if ($(this).val() !== '') {
$(this).prev().css({
opacity: '0'
});
};
})
 
.focus(function(){ 
if ($(this).val() == '') {
$(this).prev().stop().animate({
opacity: '0'
}, 200);
}
})
 
.blur(function(){
if ($(this).val() == '') {
$(this).prev().stop().animate({
opacity: '1'
}, 200);
}
}) 
 
});

 


Viewing all articles
Browse latest Browse all 13200

Trending Articles