Forum Moderators: coopster

Message Too Old, No Replies

I can not display the message "send" after sending the form

         

gwenaelle

8:26 am on Aug 15, 2016 (gmt 0)

5+ Year Member



Hello everybody
I have a contact form and I do not manage to display the message after sending "Your email has been sent. Thank you!"
Yet this should work .. thank you for your help

My html

<head>
<script type="text/javascript">
$(document).ready(function(){
jQuery('.accordion').accordion({
autoheight: false,
header: ".title",
animated: "bounceslide"
});

$('#contactform').ajaxForm(function(data) {
if (data==1){
$('.success').fadeIn("slow");
$('#contactform').resetForm();
}
else if (data==2){
$('.badserver').fadeIn("slow");
}
else if (data==3)
{
$('.bademail').fadeIn("slow");
}
});
});
</script>



</head>
////////////////////////////////////////////////////////////
<div class="success2" style="display:none;">
<img src="images/success.gif" alt="Your email has been sent. Thank you!" style="float:left; margin-right:15px;" />
Your email has been sent. Thank you!
</div>

<div class="bademail2" style="display:none;">
<img src="images/error.gif" alt="Please enter a valid email address." style="float:left; margin-right:15px;" />
Please enter a valid email address.
</div>

<div class="badserver2" style="display:none;">
<img src="images/error.gif" alt="Your email failed. Please try again later." style="float:left; margin-right:15px;" />
Your email failed. Please try again later.
</div>

<form id="contactform" name="contact" method="post" action="send.php">
<label for="nameinput">Name:</label>
<input type="text" id="nameinput" name="name" />

<label>Email:</label>
<input type="text" id="emailinput" name="email" />

<label for="messageinput">Message:</label>
<textarea name="comment" id="messageinput" cols="0" rows="7"></textarea>
<br>
<button type="submit" name="submit" value="Submit">Send Message</button>
</form>


My send.php
<?php
error_reporting(E_NOTICE);
function valid_email($str)
{
return ( ! preg_match("/^([a-z0-9\+_\-]+)(\.[a-z0-9\+_\-]+)*@([a-z0-9\-]+\.)+[a-z]{2,6}$/ix", $str)) ? FALSE : TRUE;
}
if($_POST['name']!='' && $_POST['email']!='' && valid_email($_POST['email'])==TRUE && strlen($_POST['comment'])>1)
{
$to = "example@example.com";
$headers = 'From: '.$_POST['email'].''. "\r\n" .
'Reply-To: '.$_POST['email'].'' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
$subject = "Contact Form";
$message = htmlspecialchars($_POST['comment']);
if(mail($to, $subject, $message, $headers))
{
echo 1; //SUCCESS
}
else {
echo 2; //FAILURE - server failure
}
}
else {
echo 3; //FAILURE - not valid email
}
?>


Thank you very much ;)

[edited by: engine at 9:11 am (utc) on Aug 15, 2016]
[edit reason] please use example.com [/edit]

whitespace

9:32 am on Aug 15, 2016 (gmt 0)

10+ Year Member Top Contributors Of The Month



$('.success').fadeIn("slow");
<div class="success2" style="display:none;">


Your HTML element has class "success2", whereas your JavaScript appears to be referencing elements with class "success"?

gwenaelle

9:43 am on Aug 15, 2016 (gmt 0)

5+ Year Member



ok, I had not seen .. thank you very much for your help whitespace ;)