Хочу сделать калькулятор услуг, данные которого Заказчик может отправить нам на почту. За основу калькулятора я взял, калькулятор от ruseller Ссылка на исходник. А в качестве обратной связи я выбрал эту: Light PHP Contact Form.
После чего, не понимая ни в php ни в java, я начал пытаться их объединить. Вроде даже получилось. Отправка на почту идет и калькулятор считает. Вот только на почту приходит не те данные которые я хочу видеть. А именно принимается значение из value и передаются на почту. Но значения value используются для калькулятора и в нем указаны цифры. А мне надо чтобы на почту приходило само название выбранного селектора.
Вот ссылка на тестовый сайт: sk-studio.myjino.ru
А вот сам код:
Стартовая страница index.php:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Онлайн калькулятор</title>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="scripts.js"></script>
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>
<?php
/*
This script was downloaded at:
LightPHPScripts.com
Please support us by visiting
out website and letting people
know of it.
Produced under: LGPL
*/
/* Config File */
include_once('config.php');
/* Are we submitting form */
if($_POST['submitID'] == 1){
/* Check user entered variables */
if($_POST['name'] == NULL){ $message = 'Please enter your name.';}
if($message == NULL && is_valid_email($_POST['email']) == false ){ $message = 'Please enter a valid email.';}
/* Check Mental Question */
if($mentalQuestion == TRUE)
{
foreach($mentalQuestionList as $question) {if($question[0] == $_POST['question']){$answer = $question[1];}}
if($answer != $_POST['finalAnswer'] || $answer == NULL)
{
$message = 'Your answer to "'.$_POST['question'].'" is invalid.';
}
}
/* Actual sending */
if($message == NULL){
/* Compose messages */
$doSearch = array('$+name+$','$+email+$','$+reason+$');
$doReplace = array($_POST['name'],$_POST['email'],$_POST['reason']);
/* Compose headers */
$headers = "Return-Path: ".$siteTitle." <".$emailFrom.">\r\n";
$headers .= "From: ".$siteTitle." <".$emailFrom.">\r\n";
$headers .= "Content-Type: text/html; charset=".$emailCharset.";\n\n\r\n";
/* Send Thank you Email */
if($sendThankYou == TRUE){
$userMessage = str_replace($doSearch,$doReplace,$emailSubject);
//Send Thank you
mail ($_POST['email'],$emailTitle,$userMessage,$headers);
}
$adminMessage = str_replace($doSearch,$doReplace,$emailSubjectAdmin);
/* Send Admin Emails */
if(count($adminEmails) > 0){
foreach($adminEmails as $thisEmail){
mail($thisEmail,$emailAdminTitle,$adminMessage,$headers);
}
}
$message = 'Your contact has been sent, thank you.';
$_POST = NULL;
}
}
if($message != NULL){
?>
<table width="100%" border="0" cellpadding="5" cellspacing="0" bgcolor="#FF8080">
<tr>
<td bgcolor="#FFD5D5"><font color="#FF0000"><?=$message;?></font></td>
</tr>
</table>
<br/>
<?php } ?>
<div id="full_calc">
<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post" name="contact" id="contact" style="display:inline;">
<div id="config_site">
<h3>Проект перепланировки</h3>
<div id="obmer">
<p><input checked disabled type="checkbox" name="" value="1500">Обмерные работы<br>
<span>Выезд специалист на объект, консультация, обмеры.</span></p>
<p>Общая площадь квартиры:<br>
<p><select name="reason" id="cms_radio">
<?php if($_POST['reason'] == 'Укажите площадь' || $_POST['reason'] == NULL){ $sel = ' selected';} else { $sel = NULL;} ?>
<option value="0"<?=$sel;?>>Укажите площадь</option>
<?php if($_POST['reason'] == 'от 30м2 до 50м2'){ $sel = ' selected';} else { $sel = NULL;} ?>
<option value="8500"<?=$sel;?>>от 30м2 до 50м2</option>
<?php if($_POST['reason'] == 'от 50м2 до 100м2'){ $sel = ' selected';} else { $sel = NULL;} ?>
<option value="13500"<?=$sel;?>>от 50м2 до 100м2</option>
<?php if($_POST['reason'] == 'от 100м2 до 160м2'){ $sel = ' selected';} else { $sel = NULL;} ?>
<option value="18500"<?=$sel;?>>от 100м2 до 160м2</option>
<?php if($_POST['reason'] == 'от 160м2'){ $sel = ' selected';} else { $sel = NULL;} ?>
<option value="33500"<?=$sel;?>>от 160м2</option>
</select></p>
<p><input type="checkbox" name="" value="2000">Устройство проемов в капитальной стене<br>
<span>Разрабатываются дополнительные конструктивные решения.</span></p>
<p><input type="checkbox" name="" value="15000">Остекления балконов, лоджий<br>
<span>Необходимо согласовывать остекления в КГА, разрабатывается дополнительный проект (Проект остекления балконов (лоджий)).</span></p>
</div>
</div>
<p id="tipus"></p>
<?php
if($mentalQuestion == TRUE)
{
$random = rand(0,count($mentalQuestionList)-1);
$question = $mentalQuestionList[$random][0];
?>
<?php echo $question;?>
<input name="finalAnswer" type="text" id="finalAnswer" value="<?php echo $_POST['finalAnswer'];?>" />
<?php
}
?>
Name:
<input name="name" type="text" id="name" value="<?php echo $_POST['name'];?>">
Email:
<input name="email" type="text" id="email" value="<?php echo $_POST['email'];?>">
<div align="center">
<input type="submit" name="Submit" value="Send Contact">
<input type="hidden" id="question" name="question" value="<?php echo $question;?>">
<input name="submitID" type="hidden" id="submitID" value="1">
</div>
<p id="summ">Стоимость сайта: <strong><span></span></strong> р.</p>
<p id="summ_nds">Стоимость сайта для организаций плательщиков НДС: <strong><span></span></strong> р.</p>
</form>
</div>
</body>
</html>
Это файл конфигурации почты:
<?php
/*
This script was downloaded at:
LightPHPScripts.com
Please support us by visiting
out website and letting people
know of it.
Produced under: LGPL
*/
/* Main Options */
//----------------
/* Do you want to send a thank you email */
$sendThankYou = TRUE;
/* Require mental question challenge */
$mentalQuestion = TRUE;
/* Mental question list - the more, the
better secured you are from auto bots */
$mentalQuestionList[] = array("ответ 13","13");
$mentalQuestionList[] = array("ответ 13","13");
$mentalQuestionList[] = array("ответ 13","13");
$mentalQuestionList[] = array("ответ 13","13");
/* Email Options */
//-----------------
/* Admin emails */
$adminEmails = array('1@skmail.ru');
/* Site Title */
$siteTitle = 'Demo Contact Form';
/* Email From */
$emailFrom = $_POST['email'];
/* Email Charset */
$emailCharset = 'utf-8';
/* Email Title */
$emailTitle = 'Thank you for your contact';
/* Admin Email Title */
$emailAdminTitle = 'You have received a new contact';
/*
For Templates you can use the following variables:
$+name+$ -> User Name Sending Contact
$+email+$ -> User Email Sending Contact
$+message_text+$ -> Contact Message
$+reason+$ -> Reason For Contact
*/
/* Email Subject */
$emailSubject = '<b>Hi $+name+$,</b></span><br /><br />
<span align="justify"><b>We have received your contact from '.$siteTitle.'.</b></span><br /><br />
<span align="justify"><b>Your message was: <font color="blue">$+message_text+$</font></b></span><br /><br />
<span align="justify"><b>Reason: <font color="blue">$+reason+$</font></b></span><br /><br />
<span align="justify"><b>We will respond to you asap to the email you provided <font color="blue">$+email+$</font></b></span><br /><br />
<span align="justify"><b>Till then, please review your request and email us back any changed you might have, </b></span><br /><br />
<span align="justify"><b>We thank you for your contact, </b></span><br /><br /><br />
<span align="justify"><b>'.$siteTitle.'</b></span><br />';
/* Admin Email Subject */
$emailSubjectAdmin = '<b>Hi Admin,</b></span><br /><br />
<span align="justify"><b>You have a new contact @ '.$siteTitle.'.</b></span><br /><br />
<span align="justify"><b>User name was: <font color="blue">$+name+$</font></b></span><br /><br />
<span align="justify"><b>User message was: <font color="blue">$+message_text+$</font></b></span><br /><br />
<span align="justify"><b>User contact reason was: <font color="blue">$+reason+$</font></b></span><br /><br />
<span align="justify"><b>User email provided <font color="blue">$+email+$</font></b></span><br /><br />
<span align="justify"><b>'.$siteTitle.'</b></span><br />';
/* End Configurations */
//Function to check for valid email
function is_valid_email($string) {
return preg_match('/^[.\w-]+@([\w-]+\.)+[a-zA-Z]{2,6}$/', $string);
}
/** SEC 334 **/
?>
А это сам скрипт калькулятора:
// JavaScript Document
$(document).ready(function() {
$("#config_site").change(function() {
var formOftype = $("#config_site");
/* Обнуляем общую и сумм с НДС в поле вывода */
$("#summ span").text("0");
$("#summ_nds span").text("0");
/* Выбираем все чекбоксы которые были подгружены, в этом нам поможет функция live */
formOftype.live("change",function() {
/* При проведении действий пересчитываем сумму в зависимости от выбраных чекбоксов */
var totalSum = 0, /* Полную сумму сначала приравниваем к нулю */
totalSumNDS = 0,
choiceCMS = parseInt($("#cms_radio :selected").val());
/* Приплюсовываем сумму стоимости CMS */
totalSum += choiceCMS;
/* Каждое поле ввода проверяем на введеное значение, если больше нуля то считаем его */
$("#inputCell").each(function() {
var inputCell = parseInt($("#inputCell").val()) * parseInt($("#inputCell").attr("name"));
totalSum += inputCell ;
});
/* Пересчитываем все чекбоксы которые отмечены галочкой*/
$("input[type=checkbox]:checked") .each(function() {
totalSum += parseInt($(this).val());
});
/* Подсчет и вывод суммы итоговой */
totalSumNDS = totalSum * 1.18 ;
$("#summ span").text(totalSum);
$("#summ_nds span").text(totalSumNDS);
});
});
});
Так как же мне передать значения, например не 8500 а вот такой -> от 30м2 до 50м2
И еще, у меня применяются чекбоксы, которые тоже влияют на итоговую сумму, как мне передать информацию о том что клиент выбрал необходимый чекбокс.
Заранее благодарю за помощь!