Order form in joomla does not submit data - javascript

I have Joomla 1.7 working.I want to include order form in one of the pages.I have this part of the code but the problem is that it is not submitting the data to the email.How can I change the data for it to be submitted?This is part of the code.
<div class="orderform"><form id="order_form" method="post" name="order_form">>
<table>
<tbody id="personal_info">
<tr class="label"><th colspan="2">Personal Information</th></tr>
<tr id="row_firstname">
<td class="label">
<div><label for="firstname">First name:<span class="required_star">*</span></label>
</div>
</td>
<td>
<div><input id="firstname" type="text" name="firstname" value="" />
<div id="error_firstname" class="validation_error">Enter your first name</div>
</div>
</td>
</tr>
<tr id="row_lastname">
<td class="label">
<div><label for="lastname">Last name:<span class="required_star">*</span></label></div>
</td>
<td>
<div><input id="lastname" type="text" name="lastname" value="" />
<div id="error_lastname" class="validation_error">Enter your last name</div>
</div>
</td>
</tr>
<tr id="row_email">
<td class="label">
<div><label for="email">Email:<span class="required_star">*</span></label></div>
</td>
<td>
<div><input id="email" type="text" name="email" value="" />
<div id="error_email" class="validation_error">Enter valid email address</div>
</div>
</td>
</tr>
<tr id="row_retype_email">
<td class="label">
<div><label for="retype_email">Re-type email:<span class="required_star">*</span></ label></div>
</td>
<td>
<div><input id="retype_email" type="text" name="retype_email" value="" />
<div id="error_retype_email" class="validation_error">Emails do not coincide</div>
</div>
</td>
</tr>

You will need php for that something like:
<?php
if (isset($_POST['Submit'])) {
if ($_POST['name'] != "") {
$_POST['name'] = filter_var($_POST['name'], FILTER_SANITIZE_STRING);
if ($_POST['name'] == "") {
$errors .= 'Please enter a valid name.<br/><br/>';
}
} else {
$errors .= 'Please enter your name.<br/>';
}
if ($_POST['email'] != "") {
$email = filter_var($_POST['email'], FILTER_SANITIZE_EMAIL);
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
$errors .= "$email is <strong>NOT</strong> a valid email address.<br/><br/>";
}
} else {
$errors .= 'Please enter your email address.<br/>';
}
if ($_POST['homepage'] != "") {
$homepage = filter_var($_POST['homepage'], FILTER_SANITIZE_URL);
if (!filter_var($homepage, FILTER_VALIDATE_URL)) {
$errors .= "$homepage is <strong>NOT</strong> a valid URL.<br/><br/>";
}
} else {
$errors .= 'Please enter your home page.<br/>';
}
if ($_POST['message'] != "") {
$_POST['message'] = filter_var($_POST['message'], FILTER_SANITIZE_STRING);
if ($_POST['message'] == "") {
$errors .= 'Please enter a message to send.<br/>';
}
} else {
$errors .= 'Please enter a message to send.<br/>';
}
if (!$errors) {
$mail_to = 'me#somewhere.com';
$subject = 'New Mail from Form Submission';
$message = 'From: ' . $_POST['name'] . "\n";
$message .= 'Email: ' . $_POST['email'] . "\n";
$message .= 'Homepage: ' . $_POST['homepage'] . "\n";
$message .= "Message:\n" . $_POST['message'] . "\n\n";
//mail($to, $subject, $message);
echo "Thank you for your email!<br/><br/>";
} else {
echo '<div style="color: red">' . $errors . '<br/></div>';
}
}
?>
<form name="form1" method="post" action="form-email.php">
Name: <br/>
<input type="text" name="name" value="<?php echo $_POST['name']; ?>" size="50" /><br/><br/>
Email Address: <br/>
<input type="text" name="email" value="<?php echo $_POST['email']; ?>" size="50"/> <br/><br/>
Home Page: <br/>
<input type="text" name="homepage" value="<?php echo $_POST['homepage']; ?>" size="50" /> <br/><br/>
Message: <br/>
<textarea name="message" rows="5" cols="50"><?php echo $_POST['message']; ?></textarea>
<br/>
<input type="submit" name="Submit" />
</form>
Just make sure that name of your FORM page is : form-email.php (look for action inside FORM HTML and change it if you want). This script is tested and it is working you just need to insert it correctly into your Joomla page.

Related

Else statement being run even when if statement is true?

I'm trying to establish a verification system for a form, whereas one of the input elements is called verification. The form should only be submitted (as an email to someone else) if the value of verification is 108 — which works. However, when I run my code, I find that the code inside the else statement (of the embedded if-statement) also runs, and I get a popup window that asks me what 3+105 is. Why is this?
HTML
<form class="pb-5" action="" method="POST">
<div class="form-row">
<div class="form-group col-md-6">
<label for="inputName4">Name</label>
<input
type="text"
class="form-control"
id="inputName"
name="name"
value="<?php echo isset($_POST['name']) ? htmlspecialchars($_POST['name'], ENT_QUOTES) : ''; ?>"
required
/>
</div>
<div class="form-group col-md-6">
<label for="inputCompany">Company</label>
<input
type="text"
class="form-control"
id="inputCompany"
name="company"
value="<?php echo isset($_POST['company']) ? htmlspecialchars($_POST['company'], ENT_QUOTES) : ''; ?>"
required
/>
</div>
</div>
<div class="form-row">
<div class="form-group col-md-6">
<label for="subject">Subject</label>
<input
type="text"
class="form-control"
id="subject"
name="subject"
value="<?php echo isset($_POST['subject']) ? htmlspecialchars($_POST['subject'], ENT_QUOTES) : ''; ?>"
required
/>
</div>
<div class="form-group col-md-6">
<label for="inputEmail">Email</label>
<input
type="email"
class="form-control"
id="inputEmail"
name="email"
value="<?php echo isset($_POST['email']) ? htmlspecialchars($_POST['email'], ENT_QUOTES) : ''; ?>"
required
/>
</div>
</div>
<div class="form-group">
<label for="verification">What is 5+103?</label>
<input
type="text"
class="form-control"
id="verification"
name="verification"
required
></input>
</div>
<div class="form-group">
<label for="textarea">Message</label>
<textarea
class="form-control"
id="textarea"
rows="3"
name="message"
required
><?php echo isset($_POST['message']) ? htmlspecialchars($_POST['message'], ENT_QUOTES) : ''; ?>"</textarea>
</div>
<button type="submit" class="btn btn-primary my-3">
Send
</button>
</form>
PHP
$verification = $_POST["verification"];
settype($verification, "integer");
if($_SERVER["REQUEST_METHOD"] == "POST") {
if($verification == 108) {
mail($to, $subject, $message, $headers);
echo "<script> alert('Thank you for your mail!')</script>";
} elseif ($_SERVER["REQUEST_METHOD"] == "POST" && mail($to, $subject, $message, $headers) === false) {
echo "<script> alert('An error has occurred.')</script>";
} else {
echo "<script> alert('What is 3+105?')</script>";
}
} else {
return;
}
If I can clarify my issue in any way, please do not hesitate to let me know! Thanks in advance!
I suppose you have to rewrite your if ... else ...
$verification = $_POST["verification"];
settype($verification, "integer");
if($_SERVER["REQUEST_METHOD"] == "POST") {
if($verification == 108) {
//TEST IF MAIL IS CORRECTLY SEND
if( mail($to, $subject, $message, $headers) === false){
echo "<script> alert('An error has occurred.')</script>";
}
else{
echo "<script> alert('Thank you for your mail!')</script>";
}
}
else {
echo "<script> alert('What is 3+105?')</script>";
}
}

php contact form after email sent not going to mailbox

here is my HTML code:
<form class="contact_form contact_form_h" id="form" method="POST" name="contactform"
action="contact-form-handler.php" style="margin-bottom: 10px;">
<div>
<div class="input_holder">
<input class="field-name" type="text" id="name" name="name" placeholder="Name (required)">
</div>
<div class="input_holder">
<input class="email_field" type="text" id="address" name="address" placeholder="Address">
</div>
<div class="input_holder">
<input class="subject_field" type="text" id="company" name="company" placeholder="Company">
</div>
</div>
<div class="clear"></div>
<div>
<div class="input_holder">
<input class="field-name" type="text" id="phone" name="phone" placeholder="Mobile">
</div>
<div class="input_holder">
<input class="email_field" type="text" id="calltime" name="calltime" placeholder="convenient time for ask to call you">
</div>
<div class="input_holder">
<input class="subject_field" type="text" id="email" name="email" placeholder="Email">
</div>
</div>
<div class="textarea_holder">
<textarea class="comment_field" id="message" name="message" placeholder="Your query"></textarea>
</div>
<input type='submit' name='submit' value="submit">
</form>
I have further attached the PHP code:
<?php
/* send the submitted data */
$name=$_REQUEST['name'];
$address=$_REQUEST['address'];
$company=$_REQUEST['company'];
$phone=$_REQUEST['phone'];
$calltime=$_REQUEST['calltime'];
$email=$_REQUEST['email'];
$message=$_REQUEST['message'];
if (($name=="")||($email=="")||($message==""))
{
echo "All fields are required, please fill the form again.";
}
else{
$from="From: $name<$email>\r\n $subject \n $name \n $address \n $company \n $phone \n $calltime \r\n Return-path: $email";
$subject="Message sent using your contact form";
mail("email#website.com", $message, $from);
echo "Email sent!";
}
?>
I tried many searches and testing, but this is the most perfect code i was able to sort out. No idea why its not going to mail box, after submit button it still shows "Thank you" confirmation. Any resolution will be thankful.
in else part change $from as header
$subject = "Your subject";
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";
// More headers
$headers .= 'From: <webmaster#example.com>' . "\r\n";
$message="From: $name<$email>\r\n $subject \n $name \n $address \n $company \n $phone \n $calltime \r\n Return-path: $email";
mail($to,$subject,$message,$headers);
I used this code:
<form name="contactform" method="post" action="send_form_email.php">
<table width="450px">
<tr>
<td valign="top">
<label for="first_name">First Name *</label>
</td>
<td valign="top">
<input type="text" name="first_name" maxlength="50" size="30">
</td>
</tr>
<tr>
<td valign="top"">
<label for="last_name">Last Name *</label>
</td>
<td valign="top">
<input type="text" name="last_name" maxlength="50" size="30">
</td>
</tr>
<tr>
<td valign="top">
<label for="email">Email Address *</label>
</td>
<td valign="top">
<input type="text" name="email" maxlength="80" size="30">
</td>
</tr>
<tr>
<td valign="top">
<label for="telephone">Telephone Number</label>
</td>
<td valign="top">
<input type="text" name="telephone" maxlength="30" size="30">
</td>
</tr>
<tr>
<td valign="top">
<label for="comments">Comments *</label>
</td>
<td valign="top">
<textarea name="comments" maxlength="1000" cols="25" rows="6"></textarea>
</td>
</tr>
<tr>
<td colspan="2" style="text-align:center">
<input type="submit" value="Submit"> Email Form
</td>
</tr>
</table>
</form>
And PHP form as:
<?php
if(isset($_POST['email'])) {
$email_to = "you#yourdomain.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['telephone']) ||
!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
$telephone = $_POST['telephone']; // not 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,$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 .= "Telephone: ".clean_string($telephone)."\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);
?>
Thank you for contacting us. We will be in touch with you very soon.
<?php
}
?>
Now i need to just know how to redirect one to a definite page on successful submission.

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.

Insert data to different tables

<td>
<label id="" class="" for="">Surname/Last Name
<span class="required">*</span>
</label>
</td>
<input type="text" id="" name="lname" size="20" required value="" class=" " aria-required="true" />
<td>
<label id="" class="" for="">Agency
<span class="required">*</span>
</label>
</td>
<td>
<input type="text" id="agency" name="agency" size="30" required value="" class=" " aria-required="true" /> </td>
<td>
<label id="" class="" for="">Organizer
<span class="required">*</span>
</label>
</td>
<td>
<input type="text" id="trorganizer" name="trorganizer" size="30" required value="" class=" " aria-required="true" />
</td>
//my php code here
$lname=strtoupper($_POST['lname']);
$agency=strtoupper($_POST['agency']);
$trorganizer=strtoupper($_POST['trorganizer']);
$sql1 = "INSERT INTO personalinfo (lname) VALUES ('$lname')";
$sql2 = "INSERT INTO pep (agency) VALUES ('$agency')";
$sql3 = "INSERT INTO training (trorganizer) VALUES ('$trorganizer')";
//I think I have a problem with my sql code
mysql_select_db('DATABASENAME');
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
die('Could not enter data: ' . mysql_error());
}
echo "Data added successfully!";
mysql_close($conn);
}
}
Anyone can help me how to insert data into different tables? I can't save these data. Thanks for your help. It'll much appreciated!
Thanks!
This may help you:
<form action='your_script_name.php' method='post'>
<table>
<tr>
<td>
<label id="" class="" for="">Surname/Last Name
<span class="required">*</span>
</label>
</td>
<input type="text" id="" name="lname" size="20" required value="" class=" " aria-required="true" />
<td>
<label id="" class="" for="">Agency
<span class="required">*</span>
</label>
</td>
<td>
<input type="text" id="agency" name="agency" size="30" required value="" class=" " aria-required="true" />
</td>
<td>
<label id="" class="" for="">Organizer
<span class="required">*</span>
</label>
</td>
<td>
<input type="text" id="trorganizer" name="trorganizer" size="30" required value="" class=" " aria-required="true" />
</td>
<td>
<input type="submit" value='Submit' name='submit'/>
</td>
</tr>
</table>
</form>
You PHP script:
$lname=strtoupper($_POST['lname']);
$agency=strtoupper($_POST['agency']);
$trorganizer=strtoupper($_POST['trorganizer']);
$db_con = mysql_connect('localhost', 'database_user_name', 'database_password');
if (!$db_con) {
die('Could not connect: ' . mysql_error());
}
mysql_select_db('database_name', $db_con) or die('Could not select database.');
$sql1 = "INSERT INTO `personalinfo` (`lname`) VALUES ('$lname')";
$sql2 = "INSERT INTO `pep` (`agency`) VALUES ('$agency')";
$sql3 = "INSERT INTO `training` (`trorganizer`) VALUES ('$trorganizer')";
// command to execute query
$retval = mysql_query($sql1);
if(!$retval ) {
die('Could not enter data: ' . mysql_error());
}
$retval = mysql_query($sql2);
if(!$retval ) {
die('Could not enter data: ' . mysql_error());
}
$retval = mysql_query($sql3);
if(!$retval ) {
die('Could not enter data: ' . mysql_error());
}
echo "Data added successfully!";
mysql_close($conn);
Hope this may help you.
mysql_query("INSERT INTO `personalinfo` (`lname`) VALUES ('". $lname ."')");
mysql_query("INSERT INTO `pep` (`agency`) VALUES ('". $agency ."')");
mysql_query("INSERT INTO `training` (`trorganizer`) VALUES ('". $trorganizer ."')");
You only need to have these lines of code to insert. You only need an if statement if you want to validate the queries.
<?php
$sql = mysql_query("INSERT INTO `personalinfo` (`lname`) VALUES ('". $lname ."')");
$sql2 = mysql_query("INSERT INTO `pep` (`agency`) VALUES ('". $agency ."')")
$sql3 = mysql_query("INSERT INTO `training` (`trorganizer`) VALUES ('". $trorganizer ."')");
?>

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
}
?>

Categories

Resources