Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.61/56: Рейтинг темы: голосов - 56, средняя оценка - 4.61
0 / 0 / 0
Регистрация: 13.09.2012
Сообщений: 57
1

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

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

Author24 — интернет-сервис помощи студентам
Люди добрые, я никак не могу разобраться как отправить рассчитанную сумму Результат:<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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.03.2014, 20:47
Ответы с готовыми решениями:

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

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

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

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

17
Эксперт PHP
5753 / 4133 / 1507
Регистрация: 06.01.2011
Сообщений: 11,276
03.03.2014, 20:57 2
Лучший ответ Сообщение было отмечено 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
0 / 0 / 0
Регистрация: 13.09.2012
Сообщений: 57
03.03.2014, 21:23  [ТС] 3
lyod, да, данные пришли на почту, но проблема в том, что пришли не рассчитанные данные, а указанное значение 700 ( Дело в том, что когда пользователь выбирает настройки из выпадающих списков, происходит рассчет итога в поле Результат:<span id="result"> 700</span> руб.</span> в реальном времени, то есть если пользователь ничего не меняет то по умолчанию сумма 700, а если он меняет настройки, то сумма в этом поле в форме меняется...
0
Эксперт PHP
5753 / 4133 / 1507
Регистрация: 06.01.2011
Сообщений: 11,276
03.03.2014, 21:34 4
Лучший ответ Сообщение было отмечено MRJay как решение

Решение

Исправил. Проверьте. Тот же код выше скопируйте.
1
0 / 0 / 0
Регистрация: 13.09.2012
Сообщений: 57
03.03.2014, 21:48  [ТС] 5
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
5753 / 4133 / 1507
Регистрация: 06.01.2011
Сообщений: 11,276
04.03.2014, 08:28 6
MRJay, пожалуйста, скопируйте код к себе, как я дал. Он работает.
2
0 / 0 / 0
Регистрация: 13.09.2012
Сообщений: 57
04.03.2014, 12:29  [ТС] 7
lyod, огромное человеческое спасибо, теперь всё заработало

Добавлено через 1 час 57 минут
lyod, можно еще сделать так, чтобы письмо отправилось также клиенту, на введенный им email а не только мне или это сложно сделать?
0
Эксперт PHP
5753 / 4133 / 1507
Регистрация: 06.01.2011
Сообщений: 11,276
04.03.2014, 14:23 8
Цитата Сообщение от 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
0 / 0 / 0
Регистрация: 13.09.2012
Сообщений: 57
04.03.2014, 20:25  [ТС] 9
lyod, добавил, но он выдает белую страницу и вот это:

Parse error: syntax error, unexpected T_VARIABLE in /home/public_html/3.php on line 90
0
Эксперт PHP
5753 / 4133 / 1507
Регистрация: 06.01.2011
Сообщений: 11,276
05.03.2014, 07:21 10
MRJay, Вы наверное скопировали как я дал, ничего не добавляя? Нужно было после этого:
PHP
1
mail($validator->postdata('email'), $subject, $mail_body, $header)
Точку с запятой поставить.
Вот так должно выглядеть:
PHP
1
mail($validator->postdata('email'), $subject, $mail_body, $header);
1
0 / 0 / 0
Регистрация: 13.09.2012
Сообщений: 57
05.03.2014, 16:07  [ТС] 11
lyod, добавил точку с запятой и заработало, спасибо
0
0 / 0 / 0
Регистрация: 24.03.2014
Сообщений: 4
24.03.2014, 14:00 12
lyod, Здравствуйте, помогите мне пожалйуста тоже с калькулятором (надо форму отправки прикрутить)? Если надо показать файлы, скажите, выложу..
0
Эксперт PHP
5753 / 4133 / 1507
Регистрация: 06.01.2011
Сообщений: 11,276
24.03.2014, 14:45 13
reghak, покажите форму. Покажите файл, куда надо "прикрутить".
0
0 / 0 / 0
Регистрация: 24.03.2014
Сообщений: 4
25.03.2014, 10:52 14
Вот 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
5753 / 4133 / 1507
Регистрация: 06.01.2011
Сообщений: 11,276
25.03.2014, 19:48 15
reghak, сейчас свободного времени очень мало, в коде покопаться не могу. Вы можете показать где это всё работает? Адрес сайта. И, если дадите ссылку - скажите, какие именно поля надо отправить.
0
0 / 0 / 0
Регистрация: 24.03.2014
Сообщений: 4
07.04.2014, 01:25 16
Вот ссылка где расположен калькулятор, посмотрите пожалуйста и помогите где мне и что сделать/исправить?...
calc.saitinet.ru
0
0 / 0 / 0
Регистрация: 24.03.2014
Сообщений: 4
10.04.2014, 11:58 17
Вот ссылка, надо чтобы не отдельные поля отправлялись, а заполненная форма/калькулятор. Помогите пожалуйста, спасибо.

Добавлено через 1 минуту
Цитата Сообщение от lyod Посмотреть сообщение
reghak, сейчас свободного времени очень мало, в коде покопаться не могу. Вы можете показать где это всё работает? Адрес сайта. И, если дадите ссылку - скажите, какие именно поля надо отправить.
..ссылка - calc.saitinet.ru
0
Эксперт PHP
5753 / 4133 / 1507
Регистрация: 06.01.2011
Сообщений: 11,276
10.04.2014, 12:04 18
reghak, я видел уже. Там долго копаться. Может кто другой поможет...
0
10.04.2014, 12:04
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.04.2014, 12:04
Помогаю со студенческими работами здесь

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru