Contact form issue? - javascript

I have contact form on my website(hosted with Hostinger) it contains 3 fields , i am trying to receive the message on my email so i have created the HTML tags and .php handler.
The problem is nothing happened when i click submit , here is my HTML and PHP:
HTML:
<form method="POST" action="contact-form-handler.php">
<label class="nameLabel">Name:
<input type="text" name="name" id="name" required>
</label>
<label class="emailLabel">Email:
<input type="email" name="email" id="email" required>
</label>
<label class="messageLabel">Message:
<textarea class="textarea" name="message" id="message" required>
</textarea>
</label>
<input type="submit" class="button" value="SEND">
</form>
Here is my .php
<?php
$name = $_POST['name'];
$visitor_email = $_POST['email'];
$message = $_POST['message'];
$email_from ='email#gmail.com';
$email_subject ="Form Submission";
$email_body = "User Name: $name.\n".
"User Email: $visitor_email.\n".
"User Message: $message.\n";
$to = "2ndemail#yahoo.com";
$headers = "From: $email_from \r\n";
$headers .= "Reply-To: $visitor_email \r\n";
mail($to,$email_subject,$email_body,$headers);
header("Location: index.html");
?>

Related

Ajax sending data from other php file contact form

I am new to AJAX, i came from a code in internet about sending Ajax to php file. The problem is i dont know if the data is submitted or what happen. The alert box doesn't pop up if it was submited
success: function () {
alert('form was submitted');
}
Here is the full form from html :
<form class="form-horizontal">
<div class="form-group">
<label for="contact-name" class="col-sm-2 control-label">Name</label>
<div class="col-sm-3">
<input type="text" class="form-control" id="name" name="name" placeholder="FULL Name" required>
</div>
</div>
<div class="form-group">
<label for="inputEmail3" class="col-sm-2 control-label">Email</label>
<div class="col-sm-4">
<input type="email" class="form-control" id="email" name="email" placeholder="Email" required>
</div>
</div>
<div class="form-group">
<label for="contact-msg" class="col-sm-2 control-label">Message</label>
<div class="col-sm-4">
<textarea name="message" class="form-control" required></textarea>
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button class="btn btn-primary" type="submit" value="submit" >Send Message</button>
</div>
</div>
</form>
here is the script :
<script>
$(function () {
$('form').on('submit', function (e) {
e.preventDefault();
$.ajax({
type: 'post',
url: 'mail.php',
data: $('form').serialize(),
success: function () {
alert('form was submitted');
}
});
});
});
</script>
and because i dont know where the problem is, please check also my php code. thank you stackoverflow,good programmers.
php code :
<?php
$name = $_POST['name'];
$email_from = $_POST['email'];
$comments = $_POST['message'];
$email_to = "jcjohn#gmail.com";
$email_subject = "Message from John Web";
$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 .= "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);
echo "<script type='text/javascript'>alert('$message');</script>";
?>
am i doing right ? or maybe i was doing something that nothing goes.
Kindly Use ajaxForm Plugin and include jquery library.I think this will work fine for you.
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.js"></script>
<script src="http://malsup.github.com/jquery.form.js"></script>
<script>
// wait for the DOM to be loaded
$(document).ready(function() {
// bind 'myForm' and provide a simple callback function
$('#myForm').ajaxForm(function(data) {
alert(data);
});
});
</script>
</head>
<body>
<form id="myForm" action="comment.php" method="post">
<div class="form-group">
<label for="contact-name" class="col-sm-2 control-label">Name</label>
<div class="col-sm-3">
<input type="text" class="form-control" id="name" name="name" placeholder="FULL Name" required>
</div>
</div>
<div class="form-group">
<label for="inputEmail3" class="col-sm-2 control-label">Email</label>
<div class="col-sm-4">
<input type="email" class="form-control" id="email" name="email" placeholder="Email" required>
</div>
</div>
<div class="form-group">
<label for="contact-msg" class="col-sm-2 control-label">Message</label>
<div class="col-sm-4">
<textarea name="message" class="form-control" required></textarea>
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button class="btn btn-primary" type="submit" value="submit" >Send Message</button>
</div>
</div>
</form>
</body>
</html>
and your PHP file code must be like this
<?php
$name = $_POST['name'];
$email_from = $_POST['email'];
$comments = $_POST['message'];
$email_to = "jcjohn#gmail.com";
$email_subject = "Message from John Web";
$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 .= "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);
echo "Form Submitted";
?>

calling php from aspx

i have a contact form in aspx page that after clicking submit posts to a php page. but from what i see php is not being called. when i click submit no email is sent or when fileds are empty nothing happens.
this is the form in aspx file:
<form action="form-to-email.php" method="post">
<div class="contact-form margin-top">
<label>
<span>Full name</span>
<input type="text" class="input_text" name="name" id="name" />
</label>
<label>
<span>Email</span>
<input type="text" class="input_text" name="email" id="email" />
</label>
<label>
<span>Subject</span>
<input type="text" class="input_text" name="subject" id="subject" />
</label>
<label>
<span>Message</span>
<textarea class="message" name="feedback" id="feedback"></textarea>
<input type="submit" name="submit" id="submit" class="button" value="Submit Form" />
</label>
</div>
</form>
and this is my php page:
<?
if(!isset($_POST['submit']))
{
echo "error; you need to submit the form!";
}
$name = $_POST['name'];
$visitor_email = $_POST['email'];
$subject = $_POST['subject'];
$message = $_POST['feedback'];
if(empty($name)||empty($visitor_email)||empty($subject)||empty($message))
{
echo "All fields are mandatory!";
exit;
}
if(IsInjected($visitor_email))
{
echo "Bad email value!";
exit;
}
$email_from='someone#gmail.com';
$email_subject=$subject;
$email_body= "You have received a message from the user $name .\n Email address: $visitor_email\n Here is the message:\n $message";
$to = 'someone#gmail.com';
$headers = "From: $email_from \r\n";
$headers .= "Reply-To: $visitor_email \r\n";
mail($to,$email_subject,$email_body,$headers);
function IsInjected($str)
{
$injections = array('(\n+)',
'(\r+)',
'(\t+)',
'(%0A+)',
'(%0D+)',
'(%08+)',
'(%09+)'
);
$inject = join('|', $injections);
$inject = "/$inject/i";
if(preg_match($inject,$str))
{
return true;
}
else
{
return false;
}
}
?>
i'm using visual studio btw.

Form Redirect Success/Fail page

I have tried to make my form redirect to a success or fail page. I have searched all through the internet, looking at normal form redirects and even javascript onClick redirect's. Can someone help me add with adding a redirect:
HTML:
<!-- ///////////////////////////////////////////////////////////////////////////////// -->
<!-- CONTACT FORM -->
<div class="col-lg-6">
<h1>CONTACT</h1>
<h3 class="service_h3">Say Hello! Ask something?</h3>
<form action="submit_contact.php" id="contactForm">
<fieldset>
<div id="result"></div>
<!-- ///////////////////////////////////////////////////////////////////////////////// -->
<!-- NAME FIELD -->
<div class="form-item">
<label for="name">
<input type="text" name="name" id="name" placeholder="Enter Your Name" required/>
</label>
</div>
<!-- ///////////////////////////////////////////////////////////////////////////////// -->
<!-- EMAIL FIELD -->
<div class="form-item">
<label for="email">
<input type="email" name="email" id="email" placeholder="Enter Your Email" required/>
</label>
</div>
<!-- ///////////////////////////////////////////////////////////////////////////////// -->
<!-- MESSAGE FIELD -->
<div class="form-item">
<label for="message">
<textarea name="message" id="message" placeholder="Your Message" required></textarea>
</label>
</div>
<!-- ///////////////////////////////////////////////////////////////////////////////// -->
<!-- SUBMIT BUTTON -->
<div class="form-item">
<button name="submit" class="submit_btn" action="submit_contact.php" window.open("Done") type="submit">Submit</button>
</div>
</fieldset>
</form>
</div>
PHP:
<?php
/* Subject and Email Variables*/
$emailSubject = 'Contact Form Submission';
$webMaster = 'no-reply#*Hidden*.com';
/* Gathering Data Variables */
$nameField = $_POST['name'];
$emailField = $_POST['email'];
$messageField = $_POST['message'];
$ip = $_SERVER['REMOTE_ADDR'];
$hostaddress = gethostbyaddr($ip);
$browser = $_SERVER['HTTP_USER_AGENT'];
$referred = $_SERVER['HTTP_REFERER'];
$body = <<<EOD
<br><img src="*Hidden*"> <br>GoAerox! Network - Contact Form Submission<hr><br>
<strong>Name:</strong> $nameField <br>
<strong>Email:</strong> $emailField <br>
<strong>Message:</strong> $messageField <br><br>
<hr><br><strong>User Details</strong><br>
<strong>IP Address:</strong> $ip <br>
<strong>Host address:</strong> $hostaddress <br>
<strong>Browser:</strong> $browser <br>
<strong>Referred:</strong> $referred <br>
EOD;
$headers = "From: $emailField\r\n";
$headers .= "Content-type: text/html\r\n";
$success = mail($webMaster, $emailSubject, $body, $headers);
/* Results rendered as HTML */
$theResults = <<<EOD
<html>
**RESULT PAGE**
</html>
EOD;
echo "$theResults";
?>
Please give an answer that is easily read by a amatuer PHP coder. Note: I am happy for this to redirect to a page or popup on the actual contact page. As long as the user can see that the form has been submitted without error.
You can use the following code to redirect to your success or fail page
<?php
$emailSubject = 'Contact Form Submission';
$webMaster = 'no-reply#*Hidden*.com';
$nameField = $_POST['name'];
$emailField = $_POST['email'];
$messageField = $_POST['message'];
$ip = $_SERVER['REMOTE_ADDR'];
$hostaddress = gethostbyaddr($ip);
$browser = $_SERVER['HTTP_USER_AGENT'];
$referred = $_SERVER['HTTP_REFERER'];
$body = <<<EOD
<br><img src="*Hidden*"> <br>GoAerox! Network - Contact Form Submission<hr><br>
<strong>Name:</strong> $nameField <br>
<strong>Email:</strong> $emailField <br>
<strong>Message:</strong> $messageField <br><br>
<hr><br><strong>User Details</strong><br>
<strong>IP Address:</strong> $ip <br>
<strong>Host address:</strong> $hostaddress <br>
<strong>Browser:</strong> $browser <br>
<strong>Referred:</strong> $referred <br>
EOD;
$headers = "From: $emailField\r\n";
$headers .= "Content-type: text/html\r\n";
$success = mail($webMaster, $emailSubject, $body, $headers);
header('location:success.php');
?>
$redirecturl ="Your thank you page url"
header('Location: '.$redirecturl);
Use header function to redirect to another page.
Place this function after your mail function completed.

Wordpress PHP validation using Modal Contact form

Hi im just new to wordpress i'm just confused on how to link my php validation in wordpress.
i have a send.php in my root folder located in wordpress\wp-content\themes\myTheme. my problem is that whenever i click submit in my contact form. it redirects me to the pa Object not found which in fact the send.php is located. am i doing something wrong? or i linked it incorrectly? here is my code for my Modal Contact Form.
<div class = "modal fade" id = "contact" role = "dialog">
<div class = "modal-dialog">
<div class = "modal-content">
<div class = "modal-header">
<h4>Message Me :3 </h4>
</div>
<div class = "modal-body">
<form class="form-horizontal" name="commentform" method="post" action="send.php">
<div class="form-group">
<label class="control-label col-md-4" for="first_name">First Name</label>
<div class="col-md-6">
<input type="text" class="form-control" id="first_name" name="first_name" placeholder="First Name"/>
</div>
</div>
<div class="form-group">
<label class="control-label col-md-4" for="last_name">Last Name</label>
<div class="col-md-6">
<input type="text" class="form-control" id="last_name" name="last_name" placeholder="Last Name"/>
</div>
</div>
<div class="form-group">
<label class="control-label col-md-4" for="email">Email Address</label>
<div class="col-md-6 input-group">
<span class="input-group-addon">#</span>
<input type="email" class="form-control" id="email" name="email" placeholder="Email Address"/>
</div>
</div>
<div class="form-group">
<label class="control-label col-md-4" for="comment">Question or Comment</label>
<div class="col-md-6">
<textarea rows="6" class="form-control" id="comments" name="comments" placeholder="Your question or comment here"></textarea>
</div>
</div>
<div class="form-group">
<div class="col-md-6">
<button type="submit" value="Submit" class="btn btn-primary pull-right">Send</button>
</div>
</div>
</form>
</div>
and here is my send.php code
<?php
if(isset($_POST['email'])) {
// EDIT THE 2 LINES BELOW AS REQUIRED
$email_to = "ccmanere#gmail.com";
$email_subject = "Your email subject line";
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['last_name']) ||
!isset($_POST['email']) ||
!isset($_POST['comments'])) {
died('We are sorry, but there appears to be a problem with the form you submitted.');
}
$first_name = $_POST['first_name']; // required
$last_name = $_POST['last_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\s.'-]+$/";
if(!preg_match($string_exp,$first_name)) {
$error_message .= 'The First Name you entered does not appear to be valid.<br />';
}
if(!preg_match($string_exp,$last_name)) {
$error_message .= 'The Last Name you entered does not appear to be valid.<br />';
}
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 = "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 .= "Last Name: ".clean_string($last_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);
sleep(2);
echo "<meta http-equiv='refresh' content=\"0; url=http://tutsme-webdesign.info/index.php\">";
?>
<?php
}
?>

Contact form doesn't work on Submit

I am not sure why my contact doesn't work. It doesn't submit & send data to my email address.
Check it on Live- http://www.arif-khan.net/project/chuck/ContactUs.html
Check out HTML Code-
<form id="contact-form" action="sendmail.php" method="POST" >
<div class="success">Contact form submitted!<br>
<strong>We will be in touch soon.</strong>
</div>
<fieldset>
<label class="name">
<input name="name" type="text" value="Name:">
<span class="error">*This is not a valid name.</span>
<span class="empty">*This field is required.</span>
</label>
<label class="email">
<input name="email" type="email" value="Email:">
<span class="error">*This is not a valid email address.</span>
<span class="empty">*This field is required.</span>
</label>
<label class="phone">
<input name="contact" type="tel" value="Phone:">
<span class="error">*This is not a valid phone number.</span>
<span class="empty">*This field is required.</span>
</label>
<label class="message">
<textarea name="message">Message:</textarea>
<span class="error">*The message is too short.</span>
<span class="empty">*This field is required.</span>
</label>
<div class="form_buttons">
<input type="submit" class="btn-1" value="submit" style="border:0px;">
<!--a href="#" id="submit" class="btn-1 submit" data-type="submit">submit</a-->
Clear
<input id="contact-form" type="hidden" name="contact-form" type="submit"/>
</div>
</fieldset>
</form>
Check out PHP code-
<?php
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$contact = $_POST['contact'];
$to = "arifkpi#gmail.com";
$content = 'Customer Request From Pennant Staffing';
$body_message = '---------- Customer Details ---------- '."\r\n\r\n";
$body_message .= 'Name: '. $name."\r\n\r\n";
$body_message .= 'E-mail: ' . $email ."\r\n\r\n";
$body_message .= 'Contact: ' . $contact."\r\n\r\n";
$body_message .= 'Message: ' . $message."\r\n\r\n";
$headers = "From:$name<$email> \r\n";
$headers .= "Reply-To: $email \r\n";
mail($to, $content, $body_message, $headers);
?>
<script language="javascript" type="text/javascript">
window.location = 'ContactUs.html';
</script>
try this:
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=UTF-8\r\n";
$headers .= "From:$name<$email> \r\n";
$headers .= "Reply-To: $email \r\n";
mail($to, $content, $body_message, $headers);
for checking mails on localhost u can use "Test Mail Server Tool"
You need to go into the php.ini file you use for this project and search for
[mail function]
and set up the variables for the SMTP server.

Categories

Resources