Аватар для MRJay
0 / 0 / 0
Регистрация: 13.09.2012
Сообщений: 57

Калькулятор Javascript и форма отправки заказа, отправка рассчитанной стоимости

03.03.2014, 20:47. Показов 11508. Ответов 17
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Люди добрые, я никак не могу разобраться как отправить рассчитанную сумму Результат:<span id="result"> 700</span> руб.</span> из формы заказа, чтобы она пришла в теле письма на почту, также как и поле Выбор1, например. Помогите, к сожалению ничего не понимаю в php (

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
<?php 
 
session_start();
 
require_once 'validator.php';
 
$validator = new Validator();
 
$validator->set_error_delimiters('<div class="f-error">', '</div>');
 
$rules = array(
    array(
        'field' => 'name',
        'label' => 'Имя',
        'rules' => array(
                        'trim' => '', //Обрезаем пробелы по бокам
                        'strip_tags' => '', // Удаляем HTML и PHP теги
                        'required' => 'Заполните поле %s'
                    )
    ),
    array(
        'field' => 'subject',
        'label' => 'Тема',
        'rules' => array(
                        'trim' => '', //Обрезаем пробелы по бокам
                        'strip_tags' => '', // Удаляем HTML и PHP теги
                        'required' => 'Заполните поле %s'
                    )
    ),
    array(
        'field' => 'email',
        'label' => 'Email',
        'rules' => array(
                        'trim' => '',
                        'required' => 'Заполните поле %s',
                        'valid_email' => 'Правильно укажите %s'
                    )
    ),
    array(
        'field' => 'select1',
        'label' => 'Выбор1',
        'rules' => array(
                        'trim' => '',
                        'required' => 'Заполните поле %s'
                    )
    ),
    array(
        'field' => 'select2',
        'label' => 'Выбор2',
        'rules' => array(
                        'trim' => '',
                        'required' => 'Заполните поле %s'
                    )
    ),
    array(
        'field' => 'result',
        'label' => 'Результат',
        'rules' => array(
                        'trim' => '' //Обрезаем пробелы по бокам
                    )
    )
);
 
$validator->set_rules($rules);
$message = '';
 
if($validator->run()){
    
    $to = 'mail@site.ru';
 
    $from = "=?UTF-8?b?" . base64_encode($validator->postdata('name')) . "?=";
    $subject = "=?UTF-8?b?" . base64_encode( $validator->postdata('subject') ) . "?=";
    
    $mail_body = "Письмо с сайта\r\n\r\n";
    
    foreach($rules as $rule){
        if($rule['field'] == 'keystring') continue;
        $mail_body .= $rule['label'].': '.$validator->postdata($rule['field'])."\r\n\r\n";
    }
    
    $header = "MIME-Version: 1.0\n";
    $header .= "Content-Type: text/plain; charset=UTF-8\n";
 
    if(mail($to, $subject, $mail_body, $header)){
        
        $message = '<div class="f-success">Ваш заказ отправлен</div>';
 
        $validator->reset_postdata();
    }
    else{
        
        $message = '<div class="f-error">Произошла ошибка<br />Попробуйте позже</div>';
    }
}
else{
 
    $message = $validator->get_string_errors();
    $errors = $validator->get_array_errors();
 
}
 
?>
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 
        <meta name="viewport" content="width=device-width, initial-scale=1.0"> 
        <title>Форма заказа</title>
        <script type="text/javascript">
 
        function calc() {
            var select1 = document.getElementById("select1");
            var select2 = document.getElementById("select2");
            var result = document.getElementById("result");
 
            var price = 700;
            price = parseInt(select1.options[select1.selectedIndex].title) + parseInt(select2.options[select2.selectedIndex].title);
 
            result.innerHTML = price;
        }
 
        </script>
    </head>
   <?=(!empty($message))? '<div class="errors">'.$message.'</div>': ''?>
            
            <form action="" method="post" class="feedback">
                        <label class="feedback_label">Имя</label>
                        <input type="text" class="feedback_input_name" name="name" value="<?=$validator->postdata('name');?>" />
 
                        <label class="feedback_input_name" >Тема</label>
                            <input type="text" class="feedback_input_name" name="subject" value="<?=$validator->postdata('subject');?>"/>
 
                        <label class="feedback_label">Email</label>
                            <input type="text" class="feedback_input_email" name="email" value="<?=$validator->postdata('email');?>" />
 
                        <label class="feedback_label">Выбор1</label>
                          <select onchange="calc()" id="select1" name="select1[0]">
                          <option title="500" value="1" selected="selected"<?if(htmlspecialchars($_POST['select1'][0]) == "1") echo ' SELECTED';?>>1</option> 
                          <option title="1000" value="2"<?if(htmlspecialchars($_POST['select1'][0]) == "2") echo ' SELECTED';?>>2</option>  
                          </select>
                        <input type="hidden" title="check[]" value="1">
 
                        <label class="feedback_label">Выбор2</label>
                          <select onchange="calc()" id="select2" name="select2[1]">
                          <option title="200" value="1" selected="selected"<?if(htmlspecialchars($_POST['select1'][1]) == "1") echo ' SELECTED';?>>1</option> 
                          <option title="300" value="2"<?if(htmlspecialchars($_POST['select1'][1]) == "2") echo ' SELECTED';?>>2</option>  
                          </select>
                        <input type="hidden" title="check[]" value="1">
 
 
                      Результат:<span id="result"> 700</span> руб.</span>
 
 
                      <div <?=(!empty($errors['keystring']))? 'class="error_field"': '';?>>
                                    <div class="feedback-captcha"><?php require 'captcha.php';?></div>
                                      <div class="feedback-captcha_check">        
                                    <input type="text" size="6" class="feedback-captcha_input" name="keystring" value=""/><br />
                            <span class="feedback_small">Введите цифры с картинки</span><br /><br />
                                <input type="submit" value="Отправить" />
    </div>
 
                                </form>
</body>
</html>
Добавлено через 7 минут
php и html у меня в одном файле .php
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
03.03.2014, 20:47
Ответы с готовыми решениями:

форма отправки заказа
Здравствуйте! Как набить код заказа: выбирается некоторое кол-во товара через checkbox и отправляется на емайл с подробным описанием :...

Форма отправки заказа
Всем привет! Есть сайт (http://police1101.marketnso.ru/) не реклама На него поставил лендинг с конструктора Хочу сделать что бы...

Форма заказа + калькулятор
Ребята, скажу откровенно, в php не разбираюсь, но так получилось что надо сделать Буду рад любой помощи... 1. так как у меня всё на...

17
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
03.03.2014, 20:57
Лучший ответ Сообщение было отмечено MRJay как решение

Решение

Попробуйте:
Кликните здесь для просмотра всего текста
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
<?php 
 
session_start();
 
require_once 'validator.php';
 
$validator = new Validator();
 
$validator->set_error_delimiters('<div class="f-error">', '</div>');
 
$rules = array(
    array(
        'field' => 'name',
        'label' => 'Имя',
        'rules' => array(
                        'trim' => '', //Обрезаем пробелы по бокам
                        'strip_tags' => '', // Удаляем HTML и PHP теги
                        'required' => 'Заполните поле %s'
                    )
    ),
    array(
        'field' => 'subject',
        'label' => 'Тема',
        'rules' => array(
                        'trim' => '', //Обрезаем пробелы по бокам
                        'strip_tags' => '', // Удаляем HTML и PHP теги
                        'required' => 'Заполните поле %s'
                    )
    ),
    array(
        'field' => 'email',
        'label' => 'Email',
        'rules' => array(
                        'trim' => '',
                        'required' => 'Заполните поле %s',
                        'valid_email' => 'Правильно укажите %s'
                    )
    ),
    array(
        'field' => 'select1',
        'label' => 'Выбор1',
        'rules' => array(
                        'trim' => '',
                        'required' => 'Заполните поле %s'
                    )
    ),
    array(
        'field' => 'select2',
        'label' => 'Выбор2',
        'rules' => array(
                        'trim' => '',
                        'required' => 'Заполните поле %s'
                    )
    ),
    array(
        'field' => 'result',
        'label' => 'Результат',
        'rules' => array(
                        'trim' => '' //Обрезаем пробелы по бокам
                    )
    )
);
 
$validator->set_rules($rules);
$message = '';
 
if($validator->run()){
    
    $to = 'mail@site.ru';
 
    $from = "=?UTF-8?b?" . base64_encode($validator->postdata('name')) . "?=";
    $subject = "=?UTF-8?b?" . base64_encode( $validator->postdata('subject') ) . "?=";
    
    $mail_body = "Письмо с сайта\r\n\r\n";
    
    foreach($rules as $rule){
        if($rule['field'] == 'keystring') continue;
        $mail_body .= $rule['label'].': '.$validator->postdata($rule['field'])."\r\n\r\n";
    }
    
    # Тут дописываем итоговую сумму
    $mail_body .= "Итоговая сумма: " . $validator->postdata('result') . "\r\n";
    
    $header = "MIME-Version: 1.0\n";
    $header .= "Content-Type: text/plain; charset=UTF-8\n";
 
    if(mail($to, $subject, $mail_body, $header)){
        
        $message = '<div class="f-success">Ваш заказ отправлен</div>';
 
        $validator->reset_postdata();
    }
    else{
        
        $message = '<div class="f-error">Произошла ошибка<br />Попробуйте позже</div>';
    }
}
else{
 
    $message = $validator->get_string_errors();
    $errors = $validator->get_array_errors();
 
}
 
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 
        <meta name="viewport" content="width=device-width, initial-scale=1.0"> 
        <title>Форма заказа</title>
        <script type="text/javascript">
 
        function calc() {
            var select1 = document.getElementById("select1");
            var select2 = document.getElementById("select2");
            var result = document.getElementById("result");
            var resultSend = document.getElementsByName("result");
 
            var price = 700;
            price = parseInt(select1.options[select1.selectedIndex].title) + parseInt(select2.options[select2.selectedIndex].title);
 
            result.innerHTML = price;
            resultSend[0].value = price;
        }
 
        </script>
    </head>
   <?=(!empty($message))? '<div class="errors">'.$message.'</div>': ''?>
            
            <form action="" method="post" class="feedback">
                        <label class="feedback_label">Имя</label>
                        <input type="text" class="feedback_input_name" name="name" value="<?=$validator->postdata('name');?>" />
 
                        <label class="feedback_input_name" >Тема</label>
                            <input type="text" class="feedback_input_name" name="subject" value="<?=$validator->postdata('subject');?>"/>
 
                        <label class="feedback_label">Email</label>
                            <input type="text" class="feedback_input_email" name="email" value="<?=$validator->postdata('email');?>" />
 
                        <label class="feedback_label">Выбор1</label>
                          <select onchange="calc()" id="select1" name="select1[0]">
                          <option title="500" value="1" selected="selected"<?if(htmlspecialchars($_POST['select1'][0]) == "1") echo ' SELECTED';?>>1</option> 
                          <option title="1000" value="2"<?if(htmlspecialchars($_POST['select1'][0]) == "2") echo ' SELECTED';?>>2</option>  
                          </select>
                        <input type="hidden" title="check[]" value="1">
 
                        <label class="feedback_label">Выбор2</label>
                          <select onchange="calc()" id="select2" name="select2[1]">
                          <option title="200" value="1" selected="selected"<?if(htmlspecialchars($_POST['select1'][1]) == "1") echo ' SELECTED';?>>1</option> 
                          <option title="300" value="2"<?if(htmlspecialchars($_POST['select1'][1]) == "2") echo ' SELECTED';?>>2</option>  
                          </select>
                        <input type="hidden" title="check[]" value="1">
 
 
                      Результат:<span id="result"> 700</span> руб.</span>
                      <input type="hidden" name="result" value="<?=$validator->postdata('result');?>" />
 
 
                      <div <?=(!empty($errors['keystring']))? 'class="error_field"': '';?>>
                                    <div class="feedback-captcha"><?php require 'captcha.php';?></div>
                                      <div class="feedback-captcha_check">        
                                    <input type="text" size="6" class="feedback-captcha_input" name="keystring" value=""/><br />
                            <span class="feedback_small">Введите цифры с картинки</span><br /><br />
                                <input type="submit" value="Отправить" />
    </div>
 
                                </form>
</body>
</html>
1
 Аватар для MRJay
0 / 0 / 0
Регистрация: 13.09.2012
Сообщений: 57
03.03.2014, 21:23  [ТС]
lyod, да, данные пришли на почту, но проблема в том, что пришли не рассчитанные данные, а указанное значение 700 ( Дело в том, что когда пользователь выбирает настройки из выпадающих списков, происходит рассчет итога в поле Результат:<span id="result"> 700</span> руб.</span> в реальном времени, то есть если пользователь ничего не меняет то по умолчанию сумма 700, а если он меняет настройки, то сумма в этом поле в форме меняется...
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
03.03.2014, 21:34
Лучший ответ Сообщение было отмечено MRJay как решение

Решение

Исправил. Проверьте. Тот же код выше скопируйте.
1
 Аватар для MRJay
0 / 0 / 0
Регистрация: 13.09.2012
Сообщений: 57
03.03.2014, 21:48  [ТС]
lyod, к сожалению пришла исходная сумма ( и при вводе данных в форме заказа сумма итога не меняется

может я не заметил что-то? добавил:

PHP
1
2
3
4
5
6
7
$mail_body .= "Итоговая сумма: " . $validator->postdata('result') . "\r\n";
 
var resultSend = document.getElementsByName("result");
 
resultSend[0].value = price;
 
<input type="hidden" name="result" value="700" />
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
04.03.2014, 08:28
MRJay, пожалуйста, скопируйте код к себе, как я дал. Он работает.
2
 Аватар для MRJay
0 / 0 / 0
Регистрация: 13.09.2012
Сообщений: 57
04.03.2014, 12:29  [ТС]
lyod, огромное человеческое спасибо, теперь всё заработало

Добавлено через 1 час 57 минут
lyod, можно еще сделать так, чтобы письмо отправилось также клиенту, на введенный им email а не только мне или это сложно сделать?
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
04.03.2014, 14:23
Цитата Сообщение от MRJay Посмотреть сообщение
или это сложно сделать?
Да нет, почему... Перед этой строкой:
PHP
1
$message = '<div class="f-success">Ваш заказ отправлен</div>';
добавьте:
PHP
1
mail($validator->postdata('email'), $subject, $mail_body, $header)
И то же сообщение отправится с той же темой на Email отправившего заказ. Если хотите другое сообщение отправить, или другую тему сообщения указать, тогда до mail переопределите значения переменных $subject (тема) и $mail_body (текст сообщения).
0
 Аватар для MRJay
0 / 0 / 0
Регистрация: 13.09.2012
Сообщений: 57
04.03.2014, 20:25  [ТС]
lyod, добавил, но он выдает белую страницу и вот это:

Parse error: syntax error, unexpected T_VARIABLE in /home/public_html/3.php on line 90
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
05.03.2014, 07:21
MRJay, Вы наверное скопировали как я дал, ничего не добавляя? Нужно было после этого:
PHP
1
mail($validator->postdata('email'), $subject, $mail_body, $header)
Точку с запятой поставить.
Вот так должно выглядеть:
PHP
1
mail($validator->postdata('email'), $subject, $mail_body, $header);
1
 Аватар для MRJay
0 / 0 / 0
Регистрация: 13.09.2012
Сообщений: 57
05.03.2014, 16:07  [ТС]
lyod, добавил точку с запятой и заработало, спасибо
0
0 / 0 / 0
Регистрация: 24.03.2014
Сообщений: 4
24.03.2014, 14:00
lyod, Здравствуйте, помогите мне пожалйуста тоже с калькулятором (надо форму отправки прикрутить)? Если надо показать файлы, скажите, выложу..
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
24.03.2014, 14:45
reghak, покажите форму. Покажите файл, куда надо "прикрутить".
0
0 / 0 / 0
Регистрация: 24.03.2014
Сообщений: 4
25.03.2014, 10:52
Вот index.php -
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<!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=windows-1251">
<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>
<div id="full_calc">
    <form>
    <div id="type_of_site">
        <p>Выберите тип сайта</p>
        <p>
            <select id="type_site">
                <option value='0'>Выберите тип сайта</option>
                <option value='1'>Визитка</option>
                <option value='2'>Корпоративный</option>
            </select>
        </p>
        </div>
    <p id="tipus"></p>
    
    <div id="config_site">        
   
    </div>
    </form>
</div>
<p id="summ">Стоимость сайта: <strong><span></span></strong> р.</p>
<p id="summ_nds">Стоимость сайта для организаций плательщиков НДС: <strong><span></span></strong> р.</p>
 
</body>
</html>
Вот .js
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
// JavaScript Document
$(document).ready(function() {
    $("#type_site").change(function() {
        var typeOfSite = $("#type_site :selected").val(),
            formOftype = $("#config_site");
            
            /* Обнуляем общую и сумм с НДС в поле вывода */
            $("#summ span").text("0");
            $("#summ_nds span").text("0");
 
            /* Выбираем соответствующую форму из файла */
            formOftype.load("fullform.php",{option:typeOfSite});
            
            /* Выбираем все чекбоксы которые были подгружены, в этом нам поможет функция 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 ;
                });
                                
                /* Пересчитываем все чекбоксы которые отмечены галочкой*/
                $(this + "input[name=''] :checked").each(function() {
                        totalSum += parseInt($(this).val());
                    });
                
                /* Подсчет и вывод суммы итоговой */
                totalSumNDS = totalSum * 1.18 ;
                $("#summ span").text(totalSum);
                $("#summ_nds span").text(totalSumNDS);
            });
    }); 
    
});
Вот ещё php -
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
<?
if (isset($_POST["option"])) {
    $option = $_POST["option"];
    
    if ($option == 1) {
        print '
            <h3>Сайт визитка</h3>
            <div id="design">
                <p><strong>Дизайн:</strong></p>
                <p><input checked disabled type="checkbox" name="" value="6000">Шаблон (6000 р.) <br>
                <span>Шаблон рисуется на основании составленного брифа и соответствует требованиям заказчика.</span></p>
                
                <p><input checked disabled type="checkbox" name="" value="4500">HTML-верстка (4500 р.) <br>
                <span>На основании утвержденного шалона создается рабочий макет.</span></p>
                
                <p><input type="checkbox" name="" value="1500">Разработка логотипа (1500 р.) <br>
                <span>Логотип разрабатывается исходя из предпочтений заказчика.</span></p>
                
                <p><input type="checkbox" name="" value="4000">Разработка шрифтов (4000 р.) <br>
                <span>Разработка фирменных шрифтов предназначена для придания индивидуальности стилевому оформлению сайта.</span></p>
                <p><input type="checkbox" name="" value="7000">Что-то необычное (7000 р.) <br>
                <span>Разработка чего-то необычного.</span></p>
                
                
                <p><strong>Наполнение сайта:</strong></p>
                <table border="0" cellpadding="0" cellspacing="0">
                <tr>
                    <td width="270px">Услуги копирайтинга (1 страница)</td>
                    <td><input id="inputCell" name="300" size="1" type="text" value="0"> 300 р.</td>
                </tr>
                </table>
            </div>
            
            <div id="programming">
                <p><strong>Программирование:</strong></p>
                <p>Система управления сайтом (от 4000 р.) <br>                
                <span>При выборе CMS вы сможете выбрать какую конкретно CMS использовать.</span></p>
                <p><select id="cms_radio">
                    <option value="0">Не использовать</option>
                    <option value="4000">CMS jADM (4000 р.)</option>
                    <option value="8000">Amiro.CMS: Визитка (8000 р.)</option>
                    <option value="6000">Joomla! (6000 р.)</option>
                    <option value="14000">1С-Битрикс: Старт (14000 р.)</option>
                    <option value="0">Другая (в зависимости от сложности)</option>
                </select></p>
                
                <p><input type="checkbox" name="" value="1000">Форма отправки писем (1000 р.) <br>
                <span>Установка простой формы отправки писем или заявок посетителей. Простая форма содержит до 5 полей для ввода текста (Ф.И.О. отправителя, контактный телефон, e-mail, дополнительная информация и т.п.). Сообщение приходит на электронную почту в текстовом формате. Позволяет привести запросы посетителей к единой форме и избежать СПАМа.</span></p>
                
                <p><input type="checkbox" name="" value="3000">Лента новостей (3000 р.) <br>
                <span>Лента новостей с автоматической разбивкой по страницам, сортировкой по дате, возможностью самостоятельно добавлять, редактировать, удалять новости, вывод необходимого количества последних новостей на главную страницу, новости автоматически отображаются по 10 новостей на страницу с возможностью посмотреть новость более подробно, внизу идут ссылки 1, 2, 3... на страницы архива новостей.</span></p>
                
                <p><input type="checkbox" name="" value="9000">Поиск по сайту (9000 р.) <br>
                <span>Модуль поиска совпадений по словам и фразам на страницах сайта.</span></p>
            </div>
        ';
        
    }
    
    if ($option == 2) {
        print '
            <h3>Корпоративный сайт</h3>
            <div id="design">
                <p><strong>Дизайн:</strong></p>
                <p><input checked disabled type="checkbox" name="" value="10000">Шаблон (10000 р.) <br>
                <span>Шаблон рисуется на основании составленного брифа и соответствует требованиям заказчика.</span></p>
                
                <p><input checked disabled type="checkbox" name="" value="8000">HTML-верстка (8000 р.) <br>
                <span>На основании утвержденного шалона создается рабочий макет.</span></p>
                
                <p><input type="checkbox" name="" value="1500">Разработка логотипа (1500 р.) <br>
                <span>Логотип разрабатывается исходя из предпочтений заказчика.</span></p>
                
                <p><input type="checkbox" name="" value="3000">Разработка шрифтов (4000 р.) <br>
                <span>Разработка фирменных шрифтов предназначена для придания индивидуальности стилевому оформлению сайта.</span></p>
 
                <p><strong>Наполнение сайта:</strong></p>
                <table border="0" cellpadding="0" cellspacing="0">
                <tr>
                    <td width="270px">Услуги копирайтинга (1 страница)</td>
                    <td><input id="inputCell" name="300" size="1" type="text" value="0"> 300 р.</td>
                </tr>
                </table>
            </div>
            
            <div id="programming">
                <p><strong>Программирование:</strong></p>
                <p>Система управления сайтом (от 4000 р.) <br>                
                <span>При выборе CMS вы сможете выбрать какую конкретно CMS использовать.</span></p>
                <p><select id="cms_radio">
                    <option value="0">Не использовать</option>
                    <option value="4000">CMS jADM (4000 р.)</option>
                    <option value="12000">Amiro.CMS: Корпоративный (12000 р.)</option>
                    <option value="6000">Joomla! (6000 р.)</option>
                    <option value="23000">1С-Битрикс: Корпоративный (23000 р.)</option>
                    <option value="0">Другая (в зависимости от сложности)</option>
                </select></p>
                
                <p><input type="checkbox" name="" value="1000">Форма отправки писем (1000 р.) <br>
                <span>Установка простой формы отправки писем или заявок посетителей. Простая форма содержит до 5 полей для ввода текста (Ф.И.О. отправителя, контактный телефон, e-mail, дополнительная информация и т.п.). Сообщение приходит на электронную почту в текстовом формате. Позволяет привести запросы посетителей к единой форме и избежать СПАМа.</span></p>
                
                <p><input type="checkbox" name="" value="3000">Лента новостей (3000 р.) <br>
                <span>Лента новостей с автоматической разбивкой по страницам, сортировкой по дате, возможностью самостоятельно добавлять, редактировать, удалять новости, вывод необходимого количества последних новостей на главную страницу, новости автоматически отображаются по 10 новостей на страницу с возможностью посмотреть новость более подробно, внизу идут ссылки 1, 2, 3... на страницы архива новостей.</span></p>
                
                <p><input type="checkbox" name="" value="6000">Лента RSS (6000 р.) <br>
                <span>Подключение новостной ленты сайта к RSS-каналу. На сайте размещается скрипт, генерирующий список новостей в формате RSS для всех желающих подписаться, или позволяющий подключать и выводить новости сторонних сайтов</span></p>
                
                <p><input type="checkbox" name="" value="8000">Портфолио (8000 р.) <br>
                <span>Портфолио позволяет размещать примеры выполненных работ в структурированном виде.</span></p>
                
                <p><input type="checkbox" name="" value="4000">Фотогалерея (4000 р.) <br>
                <span>Данный модуль предоставляет возможность выводить фотографии и изображения в автоматическом режиме, менять фон страницы при просмотре фотографии, голосовать за фотографию, просматривать лидеров голосования.</span></p>
                
                <p><input type="checkbox" name="" value="9000">Поиск по сайту (9000 р.) <br>
                <span>Модуль поиска совпадений по словам и фразам на страницах сайта.</span></p>
            </div>
        ';
    }   
}
 
 
?>
.. индекс пхп - это основной файл, второй пхп - это полная форма по расчету стоимости как я понял..,

Добавлено через 3 минуты
.. подскажите пожалуйста как подключить пусть даже через (send.php), чтобы подсчитанный заказ отправлялся только мне, на указанную мной почту, чтобы я узнал чего хочет заказчик... т.е. чтобы параметры заказа (тариф и т.д.) - тоже мне пришли???

Добавлено через 2 минуты
..и ещё вопрос на будующее: скажите мне свою почту или скайп или аську..., у нас проект есть, на проект выбили деньги..., понадобится помощь опытного программиста пхп, скажу спазу необходима будет интеграция отдельных решений с cms "netcat" - об оплате договоримся..

Добавлено через 35 минут
p.s."я - верстальщик.., пхп только изучаю.., знаю html5 + css3, с пхп работаю только через include..., основная моя направленность это - верстка сайтов, адаптация шаблонов и т.д."

Добавлено через 17 часов 39 минут
Вообщем, к форме я прикрутил калькулятор и письмо приходит на почту мне, но, пустое... нет данных, которые пользователь вводил на калькуляторе, а надо чтобы письмо приходило с данными и суммой...
Помогите пожалуйста.
Выкладываю изменённые файлы:
Скрипт-обработчик:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
// JavaScript Document
$(document).ready(function() {
    $("#type_site").change(function() {
        var typeOfSite = $("#type_site :selected").val(),
            formOftype = $("#config_site");
            
            /* Обнуляем общую и сумм с НДС в поле вывода */
            $("#summ span").text("0");
            $("#summ_nds span").text("0");
 
            /* Выбираем соответствующую форму из файла */
            formOftype.load("fullform.php",{option:typeOfSite});
            
            /* Выбираем все чекбоксы которые были подгружены, в этом нам поможет функция 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);
            });
    }); 
    
});
Файл отправки писем (send.php):
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<body>
<!-- Перенаправление на главную -->
  <p>Спасибо за заявку! Доброго Вам дня! Сейчас Вы будете перенаправлены на главную страницу сайта.</p>
 
<script language="JavaScript" type="text/javascript">
<!-- 
function GoNah(){ 
  location="index.html"; 
} 
setTimeout( 'GoNah()', 5000 ); 
//-->  
</script>
<!-- Конец перенаправления на главную -->
 
<?php
if ($_POST['submit'])
{
$type_site = $_POST['type_site'];
$email = $_POST['email'];
$name = $_POST['name'];
$summ = $_POST['total'];
$ip=$_SERVER["REMOTE_ADDR"];
$host = $ip;
$ts = date("G:i:s, j F, Y");
$address = 'почта@gmail.com';
$sub = "Заказ сайта";
$mes = "ФИО: $name \nE-mail: $email \n\nТип сайта: $type_site \nСтоимость: $summ руб. \n\nIP: $host \nДата: $ts";
$verify = mail ($address,$sub,$mes,"From:Web-студия Sait <почта@gmail.com>");
if ($verify == 'true')
{
echo "<p>Ваша заявка отправлена</p>";
}
else
{
echo "<p>Сообщение не отправлено</p>";
}
}
?>
</body>
</html>
Файл главной страницы калькулятора (index.html) :
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<!DOCTYPE html>
<html>
<head>
<meta 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>
<div id="full_calc">
    <form>
    <div id="type_of_site">
        <p>Выберите тип сайта</p>
        <p>
            <select id="type_site">
                <option value='0'>Выберите тип сайта</option>
                <option value='1'>Визитка</option>
                <option value='2'>Корпоративный</option>
            </select>
        </p>
        </div>
    <p id="tipus"></p>
    
    <div id="config_site">        
   
    </div>
    </form>
</div>
<p id="summ">Стоимость сайта: <strong><span></span></strong> р.</p>
<p id="summ_nds">Стоимость сайта для организаций плательщиков НДС: <strong><span></span></strong> р.</p>
 
<form action="send.php" method="post" name="forma">
<p><input type="submit" name="submit" value="Отправить заявку"></p>
</form>
 
</body>
</html>
Файл полной формы калькулятора (fullform.php) :
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
<?
if (isset($_POST["option"])) {
    $option = $_POST["option"];
    
    if ($option == 1) {
        print '
            <h3>Сайт визитка</h3>
            <div id="design">
                <p><strong>Дизайн:</strong></p>
                <p><input type="checkbox" name="" value="6000">Шаблон (6000 р.) <br>
                <span>Шаблон рисуется на основании составленного брифа и соответствует требованиям заказчика.</span></p>
                
                <p><input type="checkbox" name="" value="4500">HTML-верстка (4500 р.) <br>
                <span>На основании утвержденного шалона создается рабочий макет.</span></p>
                
                <p><input type="checkbox" name="" value="1500">Разработка логотипа (1500 р.) <br>
                <span>Логотип разрабатывается исходя из предпочтений заказчика.</span></p>
                
                <p><input type="checkbox" name="" value="4000">Разработка шрифтов (4000 р.) <br>
                <span>Разработка фирменных шрифтов предназначена для придания индивидуальности стилевому оформлению сайта.</span></p>
                <p><input type="checkbox" name="" value="7000">Что-то необычное (7000 р.) <br>
                <span>Разработка чего-то необычного.</span></p>
                
                
                <p><strong>Наполнение сайта:</strong></p>
                <table border="0" cellpadding="0" cellspacing="0">
                <tr>
                    <td width="270px">Услуги копирайтинга (1 страница)</td>
                    <td><input id="inputCell" name="300" size="1" type="text" value="0"> 300 р.</td>
                </tr>
                </table>
            </div>
            
            <div id="programming">
                <p><strong>Программирование:</strong></p>
                <p>Система управления сайтом (от 4000 р.) <br>                
                <span>При выборе CMS вы сможете выбрать какую конкретно CMS использовать.</span></p>
                <p><select id="cms_radio">
                    <option value="0">Не использовать</option>
                    <option value="4000">CMS jADM (4000 р.)</option>
                    <option value="8000">Amiro.CMS: Визитка (8000 р.)</option>
                    <option value="6000">Joomla! (6000 р.)</option>
                    <option value="14000">1С-Битрикс: Старт (14000 р.)</option>
                    <option value="0">Другая (в зависимости от сложности)</option>
                </select></p>
                
                <p><input type="checkbox" name="" value="1000">Форма отправки писем (1000 р.) <br>
                <span>Установка простой формы отправки писем или заявок посетителей. Простая форма содержит до 5 полей для ввода текста (Ф.И.О. отправителя, контактный телефон, e-mail, дополнительная информация и т.п.). Сообщение приходит на электронную почту в текстовом формате. Позволяет привести запросы посетителей к единой форме и избежать СПАМа.</span></p>
                
                <p><input type="checkbox" name="" value="3000">Лента новостей (3000 р.) <br>
                <span>Лента новостей с автоматической разбивкой по страницам, сортировкой по дате, возможностью самостоятельно добавлять, редактировать, удалять новости, вывод необходимого количества последних новостей на главную страницу, новости автоматически отображаются по 10 новостей на страницу с возможностью посмотреть новость более подробно, внизу идут ссылки 1, 2, 3... на страницы архива новостей.</span></p>
                
                <p><input type="checkbox" name="" value="9000">Поиск по сайту (9000 р.) <br>
                <span>Модуль поиска совпадений по словам и фразам на страницах сайта.</span></p>
            </div>
        ';
        
    }
    
    if ($option == 2) {
        print '
            <h3>Корпоративный сайт</h3>
            <div id="design">
                <p><strong>Дизайн:</strong></p>
                <p><input type="checkbox" name="" value="10000">Шаблон (10000 р.) <br>
                <span>Шаблон рисуется на основании составленного брифа и соответствует требованиям заказчика.</span></p>
                
                <p><input type="checkbox" name="" value="8000">HTML-верстка (8000 р.) <br>
                <span>На основании утвержденного шалона создается рабочий макет.</span></p>
                
                <p><input type="checkbox" name="" value="1500">Разработка логотипа (1500 р.) <br>
                <span>Логотип разрабатывается исходя из предпочтений заказчика.</span></p>
                
                <p><input type="checkbox" name="" value="3000">Разработка шрифтов (4000 р.) <br>
                <span>Разработка фирменных шрифтов предназначена для придания индивидуальности стилевому оформлению сайта.</span></p>
 
                <p><strong>Наполнение сайта:</strong></p>
                <table border="0" cellpadding="0" cellspacing="0">
                <tr>
                    <td width="270px">Услуги копирайтинга (1 страница)</td>
                    <td><input id="inputCell" name="300" size="1" type="text" value="0"> 300 р.</td>
                </tr>
                </table>
            </div>
            
            <div id="programming">
                <p><strong>Программирование:</strong></p>
                <p>Система управления сайтом (от 4000 р.) <br>                
                <span>При выборе CMS вы сможете выбрать какую конкретно CMS использовать.</span></p>
                <p><select id="cms_radio">
                    <option value="0">Не использовать</option>
                    <option value="4000">CMS jADM (4000 р.)</option>
                    <option value="12000">Amiro.CMS: Корпоративный (12000 р.)</option>
                    <option value="6000">Joomla! (6000 р.)</option>
                    <option value="23000">1С-Битрикс: Корпоративный (23000 р.)</option>
                    <option value="0">Другая (в зависимости от сложности)</option>
                </select></p>
                
                <p><input type="checkbox" name="" value="1000">Форма отправки писем (1000 р.) <br>
                <span>Установка простой формы отправки писем или заявок посетителей. Простая форма содержит до 5 полей для ввода текста (Ф.И.О. отправителя, контактный телефон, e-mail, дополнительная информация и т.п.). Сообщение приходит на электронную почту в текстовом формате. Позволяет привести запросы посетителей к единой форме и избежать СПАМа.</span></p>
                
                <p><input type="checkbox" name="" value="3000">Лента новостей (3000 р.) <br>
                <span>Лента новостей с автоматической разбивкой по страницам, сортировкой по дате, возможностью самостоятельно добавлять, редактировать, удалять новости, вывод необходимого количества последних новостей на главную страницу, новости автоматически отображаются по 10 новостей на страницу с возможностью посмотреть новость более подробно, внизу идут ссылки 1, 2, 3... на страницы архива новостей.</span></p>
                
                <p><input type="checkbox" name="" value="6000">Лента RSS (6000 р.) <br>
                <span>Подключение новостной ленты сайта к RSS-каналу. На сайте размещается скрипт, генерирующий список новостей в формате RSS для всех желающих подписаться, или позволяющий подключать и выводить новости сторонних сайтов</span></p>
                
                <p><input type="checkbox" name="" value="8000">Портфолио (8000 р.) <br>
                <span>Портфолио позволяет размещать примеры выполненных работ в структурированном виде.</span></p>
                
                <p><input type="checkbox" name="" value="4000">Фотогалерея (4000 р.) <br>
                <span>Данный модуль предоставляет возможность выводить фотографии и изображения в автоматическом режиме, менять фон страницы при просмотре фотографии, голосовать за фотографию, просматривать лидеров голосования.</span></p>
                
                <p><input type="checkbox" name="" value="9000">Поиск по сайту (9000 р.) <br>
                <span>Модуль поиска совпадений по словам и фразам на страницах сайта.</span></p>
            </div>
        ';
    }   
}
 
 
?>
понимаю что причина кроется в js, но не силен в js(((... Помогите пожалуйста - необходима отправка на почту письма с данными заказа. Спасибо.
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
25.03.2014, 19:48
reghak, сейчас свободного времени очень мало, в коде покопаться не могу. Вы можете показать где это всё работает? Адрес сайта. И, если дадите ссылку - скажите, какие именно поля надо отправить.
0
0 / 0 / 0
Регистрация: 24.03.2014
Сообщений: 4
07.04.2014, 01:25
Вот ссылка где расположен калькулятор, посмотрите пожалуйста и помогите где мне и что сделать/исправить?...
calc.saitinet.ru
0
0 / 0 / 0
Регистрация: 24.03.2014
Сообщений: 4
10.04.2014, 11:58
Вот ссылка, надо чтобы не отдельные поля отправлялись, а заполненная форма/калькулятор. Помогите пожалуйста, спасибо.

Добавлено через 1 минуту
Цитата Сообщение от lyod Посмотреть сообщение
reghak, сейчас свободного времени очень мало, в коде покопаться не могу. Вы можете показать где это всё работает? Адрес сайта. И, если дадите ссылку - скажите, какие именно поля надо отправить.
..ссылка - calc.saitinet.ru
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
10.04.2014, 12:04
reghak, я видел уже. Там долго копаться. Может кто другой поможет...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.04.2014, 12:04
Помогаю со студенческими работами здесь

Форма отправки + Калькулятор
Здравствуйте, есть калькулятор. Вот его пример: &lt;head&gt; &lt;title&gt;&lt;/title&gt; &lt;script...

Форма отправки данных на e-mail PHP и JavaScript
Здравствуйте, всех с наступившим 2016, в новогодние праздники хочу попробовать работу формы отправки которая работает без перезагрузки...

Форма отправки. Ссылка на страницу после отправки письма
Я пробовал 2 -3 разных решения из уроков. Результат один. Привожу самый простенький код. Все лежит в корне темы. mail.php &lt;?php ...

Расчет стоимости заказа
Доброго времени суток, Господа! Столкнулся с проблемой: нужно рассчитать общую стоимость заказа. Есть две таблицы - Заказы и Деталировка...

Подсчет стоимости заказа
Есть таблица Orders. В ней поле OrderValue (стоимость заказа). Надо сделать так, чтобы она считалась как Amount (количество) умножить на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Опции темы

Новые блоги и статьи
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: показать затраченные материалы за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В качестве. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru