Log in

View Full Version : Resolved Opening Divs



DS928
09-21-2013, 12:31 AM
I have a Div that pops up if the email is successful. I am trying to accomplish the same thing with the error messages within the PHP code and having no luck. How would I incorporate the error messages in the same way. Same css. Same Javascript. Help is appreciated, thank you.



<?php
error_reporting(E_ALL);
if(isset($_POST['email'])) {
// EDIT THE 2 LINES BELOW AS REQUIRED
$email_to = "ds@schuremediagroup.com";
$email_subject = "SMG Contact";
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['comments'])) {
died('We are sorry, but there appears to be a problem with the form you submitted.'); }
$subject = $_POST['subject'];
$name = $_POST['name']; // required
$email_from = $_POST['email']; // required
$comments = $_POST['comments']; // 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)) {
}
if(strlen($comments) < 2) {
$error_message .= 'The Comments you entered do not appear to be valid.<br />'; }
if(strlen($error_message) > 0) {
died($error_message); }
$email_message = "Information.\n\n";
function clean_string($string) {
$bad = array("content-type","bcc:","to:","cc:","href");
return str_replace($bad,"",$string); }
$email_message .= "Subject: ".clean_string($subject)."\n";
$email_message .= "Name: ".clean_string($name)."\n";
$email_message .= "Email: ".clean_string($email_from)."\n";
$email_message .= "Comments: ".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);?>
<div class="popup" "visibility:hidden">
<div class="close_popup" align="right">X</div>
<div align="center">
Request Sent. Thank you!
</div>
</div>
<?php
}
?>

traq
09-21-2013, 02:11 AM
I have a Div that pops up if the email is successful. I am trying to accomplish the same thing with the error messages within the PHP code and having no luck. How would I incorporate the error messages in the same way. Same css. Same Javascript. Help is appreciated, thank you.

The code you posted doesn't include any <div>s (HTML), CSS, or javascript.
You will need to post a link to the page in question so we can see what you are working with. Alternatively, you can use an online service like codepen (http://codepen.io) or jsfiddle (http://jsfiddle.net) (or make a gist on github (http://gist.github.com), in the case of php) to share your code.

Further, are you asking how to have the results of this script "pop up" on the page, without refreshing it?
If so, you'll need to use AJAX to submit the form and retrieve the results from your PHP script.

DS928
09-21-2013, 02:37 AM
Here is the css and Javascript.

<script>
$(document).on('click','.close_popup',function(){
$(this).parent().fadeTo(300,0,function(){
$(this).remove();
});
});
</script>
<style>
.popup
{
font:Arial, Helvetica, sans-serif;
font-size:36px;
font-style:normal;
font-color;#FFF;
line-height:50px;
width:500px;
height:100px;
position:absolute;
z-index:10;
left:50%;
top:50%;
margin-left:-250px;
margin-top:-50px;
border-style:solid;
border-color:#FFF;
border-width:8px;
background-color:#000000;
opacity:0.6;
filter:alpha(opacity=60); /* For IE8 and earlier */
padding:25px;
border-radius-topleft: 20px; /* top left corner */
border-radius-topright: 20px; /* top right corner */
border-radius-bottomleft: 20px; /* bottom left corner */
border-radius-bottomright: 20px; /* bottom right corner */
border-radius: 20px 20px 20px 20px; /* shorthand topleft topright bottomright bottomleft */
-webkit-border-top-left-radius: 20px;
-webkit-border-top-right-radius: 20px;
-webkit-border-bottom-left-radius: 20px;
-webkit-border-bottom-right-radius: 20px;
-moz-border-radius-topleft: 20px;
-moz-border-radius-topright: 20px;
-moz-border-radius-bottomleft: 20px;
-moz-border-radius-bottomright: 20px;
}
</style>

www.schuremediagroup.com

Contact page. Send an Email and you will see the popup. The error messages should match this.
Thank you

DS928
09-21-2013, 02:41 AM
And the PHP. Div at the bottom. Called popup.

<?php
error_reporting(E_ALL);
if(isset($_POST['email'])) {
// EDIT THE 2 LINES BELOW AS REQUIRED
$email_to = "ds@schuremediagroup.com";
$email_subject = "SMG Contact";
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['comments'])) {
died('We are sorry, but there appears to be a problem with the form you submitted.'); }
$subject = $_POST['subject'];
$name = $_POST['name']; // required
$email_from = $_POST['email']; // required
$comments = $_POST['comments']; // 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)) {
}
if(strlen($comments) < 2) {
$error_message .= 'The Comments you entered do not appear to be valid.<br />'; }
if(strlen($error_message) > 0) {
died($error_message); }
$email_message = "Information.\n\n";
function clean_string($string) {
$bad = array("content-type","bcc:","to:","cc:","href");
return str_replace($bad,"",$string); }
$email_message .= "Subject: ".clean_string($subject)."\n";
$email_message .= "Name: ".clean_string($name)."\n";
$email_message .= "Email: ".clean_string($email_from)."\n";
$email_message .= "Comments: ".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);?>
<div class="popup" "visibility:hidden">
<div class="close_popup" align="right">X</div>
<div align="center">
Request Sent. Thank you!
</div>
</div>
<?php
}
?>

DS928
09-23-2013, 02:32 PM
[QUOTE=DS928;299748]And the PHP. Div at the bottom. Called popup.

This is the working solution.


<?php
error_reporting(E_ALL);
if(isset($_POST['email'])) {
$subject = $_POST['subject'];
$name = $_POST['name']; // required
$email_from = $_POST['email']; // required
$comments = $_POST['comments']; // required
$popOut = "";
$email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';
if(!preg_match($email_exp,$email_from)) {
$popOut .= 'Invalid Email.<br />'; }
$string_exp = "/^[A-Za-z .'-]+$/";
if(!preg_match($string_exp,$name)) {
$popOut .= 'Name (Letters Only).<br />';}
if(strlen($comments) < 2) {
$popOut .= 'Comments (> 3 Characters).<br />'; }
if(strlen($popOut) < 1) {
function clean_string($string) {
$bad = array("content-type","bcc:","to:","cc:","href");
return str_replace($bad,"",$string); }

$popOut = "Request Sent. Thank you!";

//$email_message = "Information.\n\n";
$email_message .= "Subject: ".clean_string($subject)."\n";
$email_message .= "Name: ".clean_string($name)."\n";
$email_message .= "Email: ".clean_string($email_from)."\n";
$email_message .= "Comments: ".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);
}
?>
<div class="popup">
<div class="close_popup" align="right">X</div>
<!--a href="#" class="close" data-type="close"><span></span></a-->
<div align="center">
<?php echo $popOut; ?>
</div>
</div>
<?php } ?>

traq
09-24-2013, 12:58 AM
Glad to hear you figured it out!

Sorry I missed your update.