[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Калькулятор и Обратная связь
skitskis
Уважаемые господа программисты! Очень нужна Ваша помощь!
Хочу сделать калькулятор услуг, данные которого Заказчик может отправить нам на почту. За основу калькулятора я взял, калькулятор от 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

И еще, у меня применяются чекбоксы, которые тоже влияют на итоговую сумму, как мне передать информацию о том что клиент выбрал необходимый чекбокс.

Заранее благодарю за помощь!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.