Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.67/21: Рейтинг темы: голосов - 21, средняя оценка - 4.67
3 / 3 / 3
Регистрация: 15.12.2011
Сообщений: 160
1

Форма ввода. Убрать обнуление при неверном вводе.

11.01.2012, 14:22. Показов 3897. Ответов 24
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день!
Подскажите пожалуйста...
Есть форма ввода данных в БД
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
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
<html>
 <HEAD>
 <META http-equiv=content-type content="text/html; charset=windows-1251">
<style type=\"text/css\">
<!--
body { font: 12px Georgia; color: #666; }
h3 { font-size: 16px; text-align: center; }
table { width: 80%; border-collapse: collapse; margin: 5px auto; background: #E6E6E6; }
td { padding: 3px; vertical-align: middle; }
input { width: 99%; border: solid 1px #CCC; color: #FF6666; }
textarea { width: 99%; height: 100px; border: solid 1px #CCC; color: #FF6666; }
.buttons { width: auto; border: double 1px #666; background: #D6D6D6; color: #000; }
#num { width: 50%; text-align: right; margin-right: 5px; float: right; }
-->
</style>
 </HEAD>
 <body >
 <br/><br/><br/><br/><br/><br/><br/>
 <form action="insert.php" method="post" name="frt" >
 <table align="center">
 
 <tr><td class="t2">Готовность заказа</td>
 <td> <input type="text" size="50" maxlength="50" name="gotovnost" id="gotovnost"/></td></tr>
 
 <tr><td class="t2">Фирма</td>
 <td> <input type="text" size="50" maxlength="50" name="firma" id="firma"/></td></tr>
 
 <tr><td class="t2">Адресс</td>
 <td> <input type="text" size="50" maxlength="50" name="adress" id="adress"/></td></tr>
 
 <tr><td class="t2">Имя</td>
 <td> <input type="text" size="50" maxlength="50" name="imya" id="imya"/></td></tr>
 
 <tr><td class="t2">Телефон</td>
 <td> <input type="text" size="50" maxlength="50" name="tel" id="tel"/></td></tr>
 
 <tr><td class="t2">Вес</td>
 <td> <input type="text" size="50" maxlength="50" name="ves" id="ves"/></td></tr>
 
 <tr><td class="t2">Куда</td>
 <td> <input type="text" size="50" maxlength="50" name="kuda" id="kuda"/></td></tr>
 
 <tr><td class="t2">Оплата</td>
 <td> <SELECT NAME="oplata" id="oplata">
 <OPTION value=Выбрать SELECTED>Выбрать
<OPTION value=Нал>Наличный расчет
    <OPTION value=Безнал>Безналичный расчет
 
    <OPTION value=Получатель>Оплата получателем
 
</SELECT></td></tr>
 
 <tr><td class="t2">Примечания</td>
 <td> <input type="text" size="50" maxlength="50" name="primechaniya" id="primechaniya"/></td></tr>
 
 <tr><td class="t2">Принял</td>
 <td> <SELECT NAME="prinyal" id="prinyal">
    <OPTION value=Алена>Алена
    <OPTION value=Дима>Дима
    <OPTION value=Катя>Катя
    <OPTION value="Маша Г">Маша Г
    <OPTION value="Маша Б">Маша Б
    <OPTION value=Оксана>Оксана
    <OPTION value=Света>Света
    <OPTION value=Юля>Юля
        <OPTION value="Не указано" SELECTED>Выбрать
 
</SELECT></td></tr>
 
 <tr><td class="t2">Курьер</td>
 <td> <SELECT NAME="kurier"  id="kurier">
<OPTION value=Вова>Вова
<OPTION value=Владимир>Владимир
<OPTION value=Антон>Антон
<OPTION value=Антон_пеш>Антон пеш
<OPTION value=Рома>Рома
<OPTION value=Игорь>Игорь
<OPTION value=Костя>Костя
<OPTION value=Олег>Олег
<OPTION value="Леша И">Леша И.
<OPTION value=Л>Л
<OPTION value=Паша>Паша
<OPTION value=Степа>Степа
<OPTION value=Дима>Дима
       <OPTION value="Не указан" SELECTED>Не указан
 
</SELECT></td></tr>
 
 
 <tr><td colspan="2" align="center"><input type="submit" name="vvod" value="Ввести"/> <input
        type="button"
        value="Вернуться на главную"
        onclick="self.location.href='http://192.168.1.21';" /><br>
        <input type="button" name="nazad" class="buttons" value="На главную" onclick="self.location.href='http://192.168.1.21';"/>
<input type="button" name="izmen" class="buttons" value="Просмотреть существующие" onclick="self.location.href='http://192.168.1.21/out.php';"/>
<input type="button" name="del" class="buttons" value="Удалить" onclick="self.location.href='http://192.168.1.21/del_data.php';"/>
<input type="button" name="редактировать" class="buttons" value="Редактировать" onclick="self.location.href='http://192.168.1.21/update_data.php';"/>
<input type="button" name="поиск" class="buttons" value="Поиск" onclick="self.location.href='http://192.168.1.21/search.php';"/>
</td></tr>
 </table>
 </form>
 </body>
 </html>
и скрипт обработки (в одном файле)
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
<?php
    include("config.php");
    
    if (isset($_POST['vvod'])) {
        $gotovnost = $_POST['gotovnost'];
        $firma = $_POST['firma'];
        $adress = $_POST['adress'];
        $imya = $_POST['imya'];
        $tel = $_POST['tel'];
        $ves = $_POST['ves'];
        $kuda = $_POST['kuda'];
        $oplata = $_POST['oplata'];
        $primechaniya = $_POST['primechaniya'];
        $prinyal = $_POST['prinyal'];
        $kurier = $_POST['kurier'];
        
        if ($gotovnost != '' and $firma != '' and $adress != '' and $imya != '' and $tel != '' and $ves != '' and $kuda != '' and $oplata != '' and $primechaniya == '' and $prinyal != '' and $kurier != '') {
           
 
            $add = mysql_query("INSERT INTO zakazy(gotovnost,firma,adress,imya,tel,ves,kuda,oplata,primechaniya,prinyal,kurier) VALUES ('$gotovnost','$firma','$adress','$imya','$tel','$ves','$kuda','$oplata','$primechaniya','$prinyal','$kurier')");
            
        }else {
            echo "Вы заполнили не все поля";
        }
    }
    
 ?>
Обратите внимание на
PHP
1
 if ($gotovnost != '' and $firma != '' and $adress != '' and $imya != '' and $tel != '' and $ves != '' and $kuda != '' and $oplata != '' and $primechaniya == '' and $prinyal != '' and $kurier != '')
Если не заполнить обязательные поля - выводится сообщение об ошибке "Вы заполнили не все поля" и (внимание!) обнуляется форма ввода.

Вопрос:
Как сделать так, что бы форма не обнулялась после ошибочного ввода?
Спасибо.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.01.2012, 14:22
Ответы с готовыми решениями:

Повторить попытку ввода при неверном вводе с клавиатуры
Здравствуйте. С клавиатуры вводятся элементы массива типом float. При ошибочном вводе, например при...

Зацикливается при неверном вводе
есть такой кусочек while(true) { scanf(&quot;%d%c%d&quot;, &amp;x, &amp;zn, &amp;y); switch (zn) {...

Вывести ошибку при неверном вводе
Всем привет! Задача: Вывести логин и пароль для сайта введенного пользователем. Если сайта...

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

24
254 / 238 / 50
Регистрация: 20.12.2011
Сообщений: 707
11.01.2012, 16:46 2
Там где форма создаете переменные $gotovnost, $firma и т.д. и проверяете было ли что-то введено и если было, то присваиваете им значения
PHP
1
2
3
4
if (isset($_POST['gotovnost']))
{
    $gotovnost = $_POST['gotovnost'];
}
ну а дальше значение переменной подставляете в атрибут value
HTML5
1
<input type="text" value=<?=$gotovnost?> size="50" maxlength="50" name="gotovnost" id="gotovnost"/>
1
3 / 3 / 3
Регистрация: 15.12.2011
Сообщений: 160
11.01.2012, 17:16  [ТС] 3
С первым немножко не разобрался.
работаем с этим участком
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
    if (isset($_POST['vvod'])) {
        $gotovnost = $_POST['gotovnost'];
        $firma = $_POST['firma'];
        $adress = $_POST['adress'];
        $imya = $_POST['imya'];
        $tel = $_POST['tel'];
        $ves = $_POST['ves'];
        $kuda = $_POST['kuda'];
        $oplata = $_POST['oplata'];
        $primechaniya = $_POST['primechaniya'];
        $prinyal = $_POST['prinyal'];
        $kurier = $_POST['kurier'];
        
        if ($gotovnost != '' and $firma != '' and $adress != '' and $imya != '' and $tel != '' and $ves != '' and $kuda != '' and $oplata != '' and $primechaniya == '' and $prinyal != '' and $kurier != '') {
в конечном итоге должно выглядеть вот так
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
 
    if (isset($_POST['vvod'])) {
        if (isset($_POST['gotovnost']))
{
    $gotovnost = $_POST['gotovnost'];
}
if (isset($_POST['firma']))
{
    $firma = $_POST['firma'];
}
       //и тд
        
        if ($gotovnost != '' and $firma != '' and $adress != '' and $imya != '' and $tel != '' and $ves != '' and $kuda != '' and $oplata != '' and $primechaniya == '' and $prinyal != '' and $kurier != '') {
или как?

Добавлено через 10 минут
и как быть с подстановкой переменных в
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
<SELECT NAME="prinyal" id="prinyal">
    <OPTION value=Алена>Алена
    <OPTION value=Дима>Дима
    <OPTION value=Катя>Катя
    <OPTION value="Маша Г">Маша Г
    <OPTION value="Маша Б">Маша Б
    <OPTION value=Оксана>Оксана
    <OPTION value=Света>Света
    <OPTION value=Юля>Юля
        <OPTION value="Не указано" SELECTED>Выбрать
 
</SELECT>
Добавлено через 5 минут
Сделал вот так
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
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
<tr><td class="t2">Готовность заказа</td>
 <td> <input type="text" value="<?=$gotovnost?>" size="50" maxlength="50" name="gotovnost" id="gotovnost"/></td></tr>
 
 <tr><td class="t2">Фирма</td>
 <td> <input type="text" value="<?=$firma?>" size="50" maxlength="50" name="firma" id="firma"/></td></tr>
 
 <tr><td class="t2">Адресс</td>
 <td> <input type="text" value="<?=$adress?>" size="50" maxlength="50" name="adress" id="adress"/></td></tr>
 
 <tr><td class="t2">Имя</td>
 <td> <input type="text" value="<?=$imya?>" size="50" maxlength="50" name="imya" id="imya"/></td></tr>
 
 <tr><td class="t2">Телефон</td>
 <td> <input type="text" value="<?=$tel?>" size="50" maxlength="50" name="tel" id="tel"/></td></tr>
 
 <tr><td class="t2">Вес</td>
 <td> <input type="text" value="<?=$ves?>" size="50" maxlength="50" name="ves" id="ves"/></td></tr>
 
 <tr><td class="t2">Куда</td>
 <td> <input type="text" value="<?=$kuda?>" size="50" maxlength="50" name="kuda" id="kuda"/></td></tr>
 
 <tr><td class="t2">Оплата</td>
 <td> <SELECT NAME="oplata" id="oplata">
 <OPTION value=Выбрать SELECTED>Выбрать
<OPTION value=Нал>Наличный расчет
    <OPTION value=Безнал>Безналичный расчет
 
    <OPTION value=Получатель>Оплата получателем
 
</SELECT></td></tr>
 
 <tr><td class="t2">Примечания</td>
 <td> <input type="text" value="<?=$primechaniya?>" size="50" maxlength="50" name="primechaniya" id="primechaniya"/></td></tr>
 
 <tr><td class="t2">Принял</td>
 <td> <SELECT NAME="prinyal" id="prinyal">
    <OPTION value=Алена>Алена
    <OPTION value=Дима>Дима
    <OPTION value=Катя>Катя
    <OPTION value="Маша Г">Маша Г
    <OPTION value="Маша Б">Маша Б
    <OPTION value=Оксана>Оксана
    <OPTION value=Света>Света
    <OPTION value=Юля>Юля
        <OPTION value="Не указано" SELECTED>Выбрать
 
</SELECT></td></tr>
 
 <tr><td class="t2">Курьер</td>
 <td> <SELECT NAME="kurier"  id="kurier">
<OPTION value=Вова>Вова
<OPTION value=Владимир>Владимир
<OPTION value=Антон>Антон
<OPTION value=Антон_пеш>Антон пеш
<OPTION value=Рома>Рома
<OPTION value=Игорь>Игорь
<OPTION value=Костя>Костя
<OPTION value=Олег>Олег
<OPTION value="Леша И">Леша И.
<OPTION value=Л>Л
<OPTION value=Паша>Паша
<OPTION value=Степа>Степа
<OPTION value=Дима>Дима
       <OPTION value="Не указан" SELECTED>Не указан
 
</SELECT></td></tr>
SELECTы не переписывал

В пхп сделал так
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
<?php
    include("config.php");
    
    if (isset($_POST['vvod'])) {
        if (isset($_POST['gotovnost']))
{
    $gotovnost = $_POST['gotovnost'];
}
if (isset($_POST['firma']))
{
    $firma = $_POST['firma'];
}
if (isset($_POST['adress']))
{
    $adress = $_POST['adress'];
}       
if (isset($_POST['imya']))
{
    $imya = $_POST['imya'];
} 
if (isset($_POST['tel']))
{
    $tel = $_POST['tel'];
}        
if (isset($_POST['ves']))
{
    $ves = $_POST['ves'];
}          
if (isset($_POST['kuda']))
{
    $kuda = $_POST['kuda'];
}        
if (isset($_POST['oplata']))
{
    $oplata = $_POST['oplata'];
}          
if (isset($_POST['primechaniya']))
{
    $primechaniya = $_POST['primechaniya'];
}                  
if (isset($_POST['prinyal']))
{
    $prinyal = $_POST['prinyal'];
}        
if (isset($_POST['kurier']))
{
    $kurier = $_POST['kurier'];
}         
     
        
        if ($gotovnost != '' and $firma != '' and $adress != '' and $imya != '' and $tel != '' and $ves != '' and $kuda != '' and $oplata != '' and $primechaniya == '' and $prinyal != '' and $kurier != '') {
           
 
            $add = mysql_query("INSERT INTO zakazy(gotovnost,firma,adress,imya,tel,ves,kuda,oplata,primechaniya,prinyal,kurier) VALUES ('$gotovnost','$firma','$adress','$imya','$tel','$ves','$kuda','$oplata','$primechaniya','$prinyal','$kurier')");
            
        }else {
            echo "Вы заполнили не все поля";
        }
    }
    
 ?>
На даном этапе опять обнуляет форму.
0
254 / 238 / 50
Регистрация: 20.12.2011
Сообщений: 707
11.01.2012, 18:02 4
К сожалению я сейчас убегаю, но попробую объяснить вам в общих чертах.
Ваша форма вызывает скрипт insert.php, а по-идее должна быть зациклена на саму себя и содержать в себе скрипт, который будет выполняться в случае, если у вас отправлена форма и все правильно заполнено - для этого и нужны будут isset.
А при отправке формы все заполненные поля будут передаваться методом POST обратно этой же странице, где вы их ловите, записываете в переменные и выводите в инпутах.
Что качается select - то тут скорее всего вам нужен будет JS, который при выборе значения будет записывать его ID в переменную (я бы сделал именно так).

Желаю вам удачи и разобраться.
1
2433 / 2285 / 594
Регистрация: 27.05.2011
Сообщений: 7,808
11.01.2012, 18:26 5
В пхп сделал так
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
<?php
    include("config.php");
    
    if (isset($_POST['vvod'])) {
        if (isset($_POST['gotovnost']))
{
    $gotovnost = $_POST['gotovnost'];
}
if (isset($_POST['firma']))
{
    $firma = $_POST['firma'];
}
if (isset($_POST['adress']))
{
    $adress = $_POST['adress'];
}       
if (isset($_POST['imya']))
{
    $imya = $_POST['imya'];
} 
if (isset($_POST['tel']))
{
    $tel = $_POST['tel'];
}        
if (isset($_POST['ves']))
{
    $ves = $_POST['ves'];
}          
if (isset($_POST['kuda']))
{
    $kuda = $_POST['kuda'];
}        
if (isset($_POST['oplata']))
{
    $oplata = $_POST['oplata'];
}          
if (isset($_POST['primechaniya']))
{
    $primechaniya = $_POST['primechaniya'];
}                  
if (isset($_POST['prinyal']))
{
    $prinyal = $_POST['prinyal'];
}        
if (isset($_POST['kurier']))
{
    $kurier = $_POST['kurier'];
}         
     
        
        if ($gotovnost != '' and $firma != '' and $adress != '' and $imya != '' and $tel != '' and $ves != '' and $kuda != '' and $oplata != '' and $primechaniya == '' and $prinyal != '' and $kurier != '') {
           
 
            $add = mysql_query("INSERT INTO zakazy(gotovnost,firma,adress,imya,tel,ves,kuda,oplata,primechaniya,prinyal,kurier) VALUES ('$gotovnost','$firma','$adress','$imya','$tel','$ves','$kuda','$oplata','$primechaniya','$prinyal','$kurier')");
            
        }else {
            echo "Вы заполнили не все поля";
        }
    }
    
 ?>
На даном этапе опять обнуляет форму.
о боже мой сдались вам эти копии переменных , юзайте оригиналы

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
<?php
    include("config.php");
$data = array();
$data [] = 'vvod';  
$data [] = 'firma';  
$data [] = 'gotovnost';  
$data [] = 'adress';  
$data [] = 'imya';  
$data [] = 'tel';  
$data [] = 'ves'; 
$data [] = 'kuda';  
$data [] = 'oplata';  
$data [] = 'primechaniya';   
$data [] = 'prinyal'; 
$data [] = 'kurier';  
$error = false;
     foreach ($data as $c)
     {
     if (!isset($_POST[$c]) || empty($_POST[$c]))
     $error = true;
     }
     
if (!$error)        
{        
// dobavlaem
               
}else
  echo "Вы заполнили не все поля";
        
    
 ?>
1
3 / 3 / 3
Регистрация: 15.12.2011
Сообщений: 160
11.01.2012, 18:58  [ТС] 6
Это поможет в решении моего вопроса? Или это оптимизация скрипта?
Простите, я только учусь)
0
2433 / 2285 / 594
Регистрация: 27.05.2011
Сообщений: 7,808
11.01.2012, 19:00 7
Цитата Сообщение от WisesT Посмотреть сообщение
Это поможет в решении моего вопроса? Или это оптимизация скрипта?
Простите, я только учусь)
оптимизация ,а то если у вас будет 100 полей вы каждому будете присваивать копию и проверять руками? в цикле всё обходим , также в цикле ресуем форму , массив с именами есть
0
3 / 3 / 3
Регистрация: 15.12.2011
Сообщений: 160
11.01.2012, 19:25  [ТС] 8
Ну, в следующий раз попробую сделать по правильному
Сейчаст страшновато что-то переделывать.
Мне бы разобраться с обнулением формы и все хорошо=)
0
2433 / 2285 / 594
Регистрация: 27.05.2011
Сообщений: 7,808
11.01.2012, 19:50 9
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
<?php
include("config.php");
$data = array();
 
 
$data [] = 'gotovnost'; 
$data [] = 'firma';   
$data [] = 'adress';  
$data [] = 'imya';  
$data [] = 'tel';  
$data [] = 'ves'; 
$data [] = 'kuda';  
$data [] = 'oplata';  
$data [] = 'primechaniya';   
$data [] = 'prinyal'; 
$data [] = 'kurier';  
if isset($_POST['vvod']) // esli byla otpravlena forma
{
    $error = false;
     foreach ($data as $c)
     {
     if (!isset($_POST[$c]) || empty($_POST[$c]))
     $error = true;
     }
     
    if (!$error)        
    {        
        $add = "INSERT INTO zakazy(".implode(' , ' , $data).") VALUES ( "; //razvernuli massiv v stroku cherez zapatuju
        foreach ($data as $c)
  {
            $add .= "'" . $_POST[$c] "' , "; // dobavili ves post
     }
        $add[ strlen($add) - 1 ] = ')'; //zamenaem posledniju zapatuju na zakrytuju skobku
        $add = mysql_query($add);           
    }
    else
     echo "Вы заполнили не все поля";
        
}
//risuem formu
?>
<html>
 <HEAD>
 <META http-equiv=content-type content="text/html; charset=windows-1251">
<style type=\"text/css\">
<!--
body { font: 12px Georgia; color: #666; }
h3 { font-size: 16px; text-align: center; }
table { width: 80%; border-collapse: collapse; margin: 5px auto; background: #E6E6E6; }
td { padding: 3px; vertical-align: middle; }
input { width: 99%; border: solid 1px #CCC; color: #FF6666; }
textarea { width: 99%; height: 100px; border: solid 1px #CCC; color: #FF6666; }
.buttons { width: auto; border: double 1px #666; background: #D6D6D6; color: #000; }
#num { width: 50%; text-align: right; margin-right: 5px; float: right; }
-->
</style>
 <script type="text/javascript">
    function ApplyData()
    {
<?php 
 foreach ($data as $c)
 {
    if isset($_POST[$c])
    {
 ?>
    getElementById('<?=$c ?>'). value = '<?=$_POST[$c]?>';
<?
    } 
 }
 ?>
 }
 </script>
 </HEAD>
 <body onload="ApplyData()">
 <br/><br/><br/><br/><br/><br/><br/>
 
 <form action="?" method="post" name="frt" >
 <table align="center">
 
 <tr><td class="t2">Готовность заказа</td>
 <td> <input type="text" size="50" maxlength="50" name="gotovnost" id="gotovnost"/></td></tr>
 
 <tr><td class="t2">Фирма</td>
 <td> <input type="text" size="50" maxlength="50" name="firma" id="firma"/></td></tr>
 
 <tr><td class="t2">Адресс</td>
 <td> <input type="text" size="50" maxlength="50" name="adress" id="adress"/></td></tr>
 
 <tr><td class="t2">Имя</td>
 <td> <input type="text" size="50" maxlength="50" name="imya" id="imya"/></td></tr>
 
 <tr><td class="t2">Телефон</td>
 <td> <input type="text" size="50" maxlength="50" name="tel" id="tel"/></td></tr>
 
 <tr><td class="t2">Вес</td>
 <td> <input type="text" size="50" maxlength="50" name="ves" id="ves"/></td></tr>
 
 <tr><td class="t2">Куда</td>
 <td> <input type="text" size="50" maxlength="50" name="kuda" id="kuda"/></td></tr>
 
 <tr><td class="t2">Оплата</td>
 <td> <SELECT NAME="oplata" id="oplata">
 <OPTION value=Выбрать SELECTED>Выбрать
<OPTION value=Нал>Наличный расчет
    <OPTION value=Безнал>Безналичный расчет
 
    <OPTION value=Получатель>Оплата получателем
 
</SELECT></td></tr>
 
 <tr><td class="t2">Примечания</td>
 <td> <input type="text" size="50" maxlength="50" name="primechaniya" id="primechaniya"/></td></tr>
 
 <tr><td class="t2">Принял</td>
 <td> <SELECT NAME="prinyal" id="prinyal">
        <OPTION value=Алена>Алена
        <OPTION value=Дима>Дима
    <OPTION value=Катя>Катя
        <OPTION value="Маша Г">Маша Г
        <OPTION value="Маша Б">Маша Б
        <OPTION value=Оксана>Оксана
        <OPTION value=Света>Света
        <OPTION value=Юля>Юля
            <OPTION value="Не указано" SELECTED>Выбрать
 
</SELECT></td></tr>
 
 <tr><td class="t2">Курьер</td>
 <td> <SELECT NAME="kurier"  id="kurier">
<OPTION value=Вова>Вова
<OPTION value=Владимир>Владимир
<OPTION value=Антон>Антон
<OPTION value=Антон_пеш>Антон пеш
<OPTION value=Рома>Рома
<OPTION value=Игорь>Игорь
<OPTION value=Костя>Костя
<OPTION value=Олег>Олег
<OPTION value="Леша И">Леша И.
<OPTION value=Л>Л
<OPTION value=Паша>Паша
<OPTION value=Степа>Степа
<OPTION value=Дима>Дима
       <OPTION value="Не указан" SELECTED>Не указан
 
</SELECT></td></tr>
 
 
 <tr><td colspan="2" align="center"><input type="submit" name="vvod" value="Ввести"/> <input
        type="button"
        value="Вернуться на главную"
        onclick="self.location.href='http://192.168.1.21';" /><br>
                <input type="button" name="nazad" class="buttons" value="На главную" onclick="self.location.href='http://192.168.1.21';"/>
<input type="button" name="izmen" class="buttons" value="Просмотреть существующие" onclick="self.location.href='http://192.168.1.21/out.php';"/>
<input type="button" name="del" class="buttons" value="Удалить" onclick="self.location.href='http://192.168.1.21/del_data.php';"/>
<input type="button" name="редактировать" class="buttons" value="Редактировать" onclick="self.location.href='http://192.168.1.21/update_data.php';"/>
<input type="button" name="поиск" class="buttons" value="Поиск" onclick="self.location.href='http://192.168.1.21/search.php';"/>
</td></tr>
 </table>
 </form>
 </body>
 </html>
мой вариант , заполняем поля после поста яваскриптом , яваскрипт генерим через пхп , и я домой , удачи
1
3 / 3 / 3
Регистрация: 15.12.2011
Сообщений: 160
12.01.2012, 11:40  [ТС] 10
жалуется на
PHP
1
if isset($_POST['vvod']) // esli byla otpravlena forma
кажись там вот так должно быть?
PHP
1
if (isset($_POST['vvod'])) // esli byla otpravlena forma
Добавлено через 10 минут
Если, то что указано выше, нужно было изменить, то после того ругается на
PHP
1
                        $add .= "'" . $_POST[$c] "' , "; // dobavili ves post
Вот тут я уже не знаю что и как.
0
254 / 238 / 50
Регистрация: 20.12.2011
Сообщений: 707
12.01.2012, 11:45 11
Цитата Сообщение от crautcher Посмотреть сообщение
PHP
1
$add .= "'" . $_POST[$c] . "' , "; // dobavili ves post
Там точку после $_POST[$c] забыли
1
3 / 3 / 3
Регистрация: 15.12.2011
Сообщений: 160
12.01.2012, 12:04  [ТС] 12
В итоге получил вот такой обработчик
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
<?php
include("config.php");
$data = array();
 
 
$data [] = 'gotovnost'; 
$data [] = 'firma';   
$data [] = 'adress';  
$data [] = 'imya';  
$data [] = 'tel';  
$data [] = 'ves'; 
$data [] = 'kuda';  
$data [] = 'oplata';  
$data [] = 'primechaniya';   
$data [] = 'prinyal'; 
$data [] = 'kurier';  
if (isset($_POST['vvod'])) // esli byla otpravlena forma
{
        $error = false;
     foreach ($data as $c)
     {
     if (!isset($_POST[$c]) || empty($_POST[$c]))
     $error = true;
     }
     
        if (!$error)        
        {        
                $add = "INSERT INTO zakazy(".implode(' , ' , $data).") VALUES ( "; //razvernuli massiv v stroku cherez zapatuju
                foreach ($data as $c)
  {
$add .= "'" . $_POST[$c] . "' , "; // dobavili ves post
         }
                $add[ strlen($add) - 1 ] = ')'; //zamenaem posledniju zapatuju na zakrytuju skobku
                $add = mysql_query($add);           
        }
        else
         echo "Вы заполнили не все поля";
        
}
//risuem formu
?>
Но...
1.Форма теперь не вносит даных в БД
2.Раньше поле "Примечания" было необязательным. Теперь оно обязательно
3.Форма все-равно обнуляется в случае если были заполнены не все поля и выведено сообщение об ошибке.

Исходный код был таким
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
<html>
 <HEAD>
 <META http-equiv=content-type content="text/html; charset=windows-1251">
<style type=\"text/css\">
<!--
body { font: 12px Georgia; color: #666; }
h3 { font-size: 16px; text-align: center; }
table { width: 80%; border-collapse: collapse; margin: 5px auto; background: #E6E6E6; }
td { padding: 3px; vertical-align: middle; }
input { width: 99%; border: solid 1px #CCC; color: #FF6666; }
textarea { width: 99%; height: 100px; border: solid 1px #CCC; color: #FF6666; }
.buttons { width: auto; border: double 1px #666; background: #D6D6D6; color: #000; }
#num { width: 50%; text-align: right; margin-right: 5px; float: right; }
-->
</style>
 </HEAD>
 <body >
 <br/><br/><br/><br/><br/><br/><br/>
 <form action="insert.php" method="post" name="frt" >
 <table align="center">
 
 <tr><td class="t2">Готовность заказа</td>
 <td> <input type="text" size="50" maxlength="50" name="gotovnost" id="gotovnost"/></td></tr>
 
 <tr><td class="t2">Фирма</td>
 <td> <input type="text" size="50" maxlength="50" name="firma" id="firma"/></td></tr>
 
 <tr><td class="t2">Адресс</td>
 <td> <input type="text" size="50" maxlength="50" name="adress" id="adress"/></td></tr>
 
 <tr><td class="t2">Имя</td>
 <td> <input type="text" size="50" maxlength="50" name="imya" id="imya"/></td></tr>
 
 <tr><td class="t2">Телефон</td>
 <td> <input type="text" size="50" maxlength="50" name="tel" id="tel"/></td></tr>
 
 <tr><td class="t2">Вес</td>
 <td> <input type="text" size="50" maxlength="50" name="ves" id="ves"/></td></tr>
 
 <tr><td class="t2">Куда</td>
 <td> <input type="text" size="50" maxlength="50" name="kuda" id="kuda"/></td></tr>
 
 <tr><td class="t2">Оплата</td>
 <td> <SELECT NAME="oplata" id="oplata">
 <OPTION value=Выбрать SELECTED>Выбрать
<OPTION value=Нал>Наличный расчет
    <OPTION value=Безнал>Безналичный расчет
 
    <OPTION value=Получатель>Оплата получателем
 
</SELECT></td></tr>
 
 <tr><td class="t2">Примечания</td>
 <td> <input type="text" size="50" maxlength="50" name="primechaniya" id="primechaniya"/></td></tr>
 
 <tr><td class="t2">Принял</td>
 <td> <SELECT NAME="prinyal" id="prinyal">
    <OPTION value=Алена>Алена
    <OPTION value=Дима>Дима
    <OPTION value=Катя>Катя
    <OPTION value="Маша Г">Маша Г
    <OPTION value="Маша Б">Маша Б
    <OPTION value=Оксана>Оксана
    <OPTION value=Света>Света
    <OPTION value=Юля>Юля
        <OPTION value="Не указано" SELECTED>Выбрать
 
</SELECT></td></tr>
 
 <tr><td class="t2">Курьер</td>
 <td> <SELECT NAME="kurier"  id="kurier">
<OPTION value=Вова>Вова
<OPTION value=Владимир>Владимир
<OPTION value=Антон>Антон
<OPTION value=Антон_пеш>Антон пеш
<OPTION value=Рома>Рома
<OPTION value=Игорь>Игорь
<OPTION value=Костя>Костя
<OPTION value=Олег>Олег
<OPTION value="Леша И">Леша И.
<OPTION value=Л>Л
<OPTION value=Паша>Паша
<OPTION value=Степа>Степа
<OPTION value=Дима>Дима
       <OPTION value="Не указан" SELECTED>Не указан
 
</SELECT></td></tr>
 
 
 <tr><td colspan="2" align="center"><input type="submit" name="vvod" value="Ввести"/> <input
        type="button"
        value="Вернуться на главную"
        onclick="self.location.href='http://192.168.1.21';" /><br>
        <input type="button" name="nazad" class="buttons" value="На главную" onclick="self.location.href='http://192.168.1.21';"/>
<input type="button" name="izmen" class="buttons" value="Просмотреть существующие" onclick="self.location.href='http://192.168.1.21/out.php';"/>
<input type="button" name="del" class="buttons" value="Удалить" onclick="self.location.href='http://192.168.1.21/del_data.php';"/>
<input type="button" name="редактировать" class="buttons" value="Редактировать" onclick="self.location.href='http://192.168.1.21/update_data.php';"/>
<input type="button" name="поиск" class="buttons" value="Поиск" onclick="self.location.href='http://192.168.1.21/search.php';"/>
</td></tr>
 </table>
 </form>
 </body>
 </html>
 
<?php
    include("config.php");
    
    if (isset($_POST['vvod'])) {
        $gotovnost = $_POST['gotovnost'];
        $firma = $_POST['firma'];
        $adress = $_POST['adress'];
        $imya = $_POST['imya'];
        $tel = $_POST['tel'];
        $ves = $_POST['ves'];
        $kuda = $_POST['kuda'];
        $oplata = $_POST['oplata'];
        $primechaniya = $_POST['primechaniya'];
        $prinyal = $_POST['prinyal'];
        $kurier = $_POST['kurier'];
        
        if ($gotovnost != '' and $firma != '' and $adress != '' and $imya != '' and $tel != '' and $ves != '' and $kuda != '' and $oplata != '' and $primechaniya == '' and $prinyal != '' and $kurier != '') {
           
 
            $add = mysql_query("INSERT INTO zakazy(gotovnost,firma,adress,imya,tel,ves,kuda,oplata,primechaniya,prinyal,kurier) VALUES ('$gotovnost','$firma','$adress','$imya','$tel','$ves','$kuda','$oplata','$primechaniya','$prinyal','$kurier')");
            
        }else {
            echo "Вы заполнили не все поля";
        }
    }
    
 ?>
0
254 / 238 / 50
Регистрация: 20.12.2011
Сообщений: 707
12.01.2012, 12:18 13
у вас ваша форма должна находиться после PHP кода и форма должна ссылаться на эту же страницу
HTML5
1
<form action="<?=$_SERVER['PHP_SELF'] ?>" method="post" name="frt" >
тогда у вас получится, что если вы отправили форму, то начнет выполняться код с начала этой страницы, а затем выведется страница, если же вы не отправляли форму, то у вас просто загрузится ваша страница.

Добавлено через 4 минуты

В этой книге{ссылка удалена} есть пример как раз того, что вы хотите сделать. Если не ошибаюсь, то это будет недалеко от начала книги в разделе, когда Елвис учится отправлять письма пользователям (книга написана с юмором)
1
3 / 3 / 3
Регистрация: 15.12.2011
Сообщений: 160
12.01.2012, 12:28  [ТС] 14
Спасибо. Книжку посмотрю.
Добавил вашу строку. Переставил местами ХТМЛ и ПХП. Задача не решилась. Пойду читать...
0
254 / 238 / 50
Регистрация: 20.12.2011
Сообщений: 707
12.01.2012, 13:12 15
Цитата Сообщение от WisesT Посмотреть сообщение
Книжку посмотрю.
Забыл добавить - если есть проблемы с английским - есть ее перевод на русский.
1
2433 / 2285 / 594
Регистрация: 27.05.2011
Сообщений: 7,808
12.01.2012, 13:35 16
$add .= "'" . $_POST[$c] . "' , ";
точку забыл

Добавлено через 22 минуты
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
<?php
include("config.php");
$data = array();
 
 
$data [] = 'gotovnost'; 
$data [] = 'firma';   
$data [] = 'adress';  
$data [] = 'imya';  
$data [] = 'tel';  
$data [] = 'ves'; 
$data [] = 'kuda';  
$data [] = 'oplata';  
$data [] = 'primechaniya';   
$data [] = 'prinyal'; 
$data [] = 'kurier';  
if (isset($_POST['vvod'])) // esli byla otpravlena forma
{
        $error = false;
     foreach ($data as $c)
     {
     if (!isset($_POST[$c]) || empty($_POST[$c]))
     $error = true;
     }
     
        if (!$error)        
        {        
                $add = "INSERT INTO zakazy(".implode(' , ' , $data).") VALUES ( "; //razvernuli massiv v stroku cherez zapatuju
                foreach ($data as $c)
                                                            {
                        $add .= "'" . $_POST[$c] ."' , "; // dobavili ves post
                                        }
                $add[ strlen($add) - 1 ] = ')'; //zamenaem posledniju zapatuju na zakrytuju skobku
                $add = mysql_query($add);   
                if (!$result) 
                                                     echo 'some error' . mysql_error();
                                                                else
                                                                    echo 'posted successfull!';   
        }
        else
         echo "Вы заполнили не все поля";
        
}
//risuem formu
?>
<html>
 <HEAD>
 <META http-equiv=content-type content="text/html; charset=windows-1251">
<style type=\"text/css\">
body { font: 12px Georgia; color: #666; }
h3 { font-size: 16px; text-align: center; }
table { width: 80%; border-collapse: collapse; margin: 5px auto; background: #E6E6E6; }
td { padding: 3px; vertical-align: middle; }
input { width: 99%; border: solid 1px #CCC; color: #FF6666; }
textarea { width: 99%; height: 100px; border: solid 1px #CCC; color: #FF6666; }
.buttons { width: auto; border: double 1px #666; background: #D6D6D6; color: #000; }
#num { width: 50%; text-align: right; margin-right: 5px; float: right; }
</style>
 </HEAD>
 <br/><br/><br/><br/><br/><br/><br/>
 
 <form action="?" method="post" name="frt" >
 <table align="center">
 
 <tr><td class="t2">Готовность заказа</td>
 <td> <input type="text" size="50" maxlength="50" name="gotovnost" id="gotovnost"/></td></tr>
 
 <tr><td class="t2">Фирма</td>
 <td> <input type="text" size="50" maxlength="50" name="firma" id="firma"/></td></tr>
 
 <tr><td class="t2">Адресс</td>
 <td> <input type="text" size="50" maxlength="50" name="adress" id="adress"/></td></tr>
 
 <tr><td class="t2">Имя</td>
 <td> <input type="text" size="50" maxlength="50" name="imya" id="imya"/></td></tr>
 
 <tr><td class="t2">Телефон</td>
 <td> <input type="text" size="50" maxlength="50" name="tel" id="tel"/></td></tr>
 
 <tr><td class="t2">Вес</td>
 <td> <input type="text" size="50" maxlength="50" name="ves" id="ves"/></td></tr>
 
 <tr><td class="t2">Куда</td>
 <td> <input type="text" size="50" maxlength="50" name="kuda" id="kuda"/></td></tr>
 
 <tr><td class="t2">Оплата</td>
 <td> <SELECT NAME="oplata" id="oplata">
 <OPTION value=Выбрать SELECTED>Выбрать
<OPTION value=Нал>Наличный расчет
    <OPTION value=Безнал>Безналичный расчет
 
    <OPTION value=Получатель>Оплата получателем
 
</SELECT></td></tr>
 
 <tr><td class="t2">Примечания</td>
 <td> <input type="text" size="50" maxlength="50" name="primechaniya" id="primechaniya"/></td></tr>
 
 <tr><td class="t2">Принял</td>
 <td> <SELECT NAME="prinyal" id="prinyal">
        <OPTION value=Алена>Алена
        <OPTION value=Дима>Дима
    <OPTION value=Катя>Катя
        <OPTION value="Маша Г">Маша Г
        <OPTION value="Маша Б">Маша Б
        <OPTION value=Оксана>Оксана
        <OPTION value=Света>Света
        <OPTION value=Юля>Юля
            <OPTION value="Не указано" SELECTED>Выбрать
 
</SELECT></td></tr>
 
 <tr><td class="t2">Курьер</td>
 <td> <SELECT NAME="kurier"  id="kurier">
<OPTION value=Вова>Вова
<OPTION value=Владимир>Владимир
<OPTION value=Антон>Антон
<OPTION value=Антон_пеш>Антон пеш
<OPTION value=Рома>Рома
<OPTION value=Игорь>Игорь
<OPTION value=Костя>Костя
<OPTION value=Олег>Олег
<OPTION value="Леша И">Леша И.
<OPTION value=Л>Л
<OPTION value=Паша>Паша
<OPTION value=Степа>Степа
<OPTION value=Дима>Дима
       <OPTION value="Не указан" SELECTED>Не указан
 
</SELECT></td></tr>
 
 
 <tr><td colspan="2" align="center"><input type="submit" name="vvod" value="Ввести"/> <input
        type="button"
        value="Вернуться на главную"
        onclick="self.location.href='http://192.168.1.21';" /><br>
                <input type="button" name="nazad" class="buttons" value="На главную" onclick="self.location.href='http://192.168.1.21';"/>
<input type="button" name="izmen" class="buttons" value="Просмотреть существующие" onclick="self.location.href='http://192.168.1.21/out.php';"/>
<input type="button" name="del" class="buttons" value="Удалить" onclick="self.location.href='http://192.168.1.21/del_data.php';"/>
<input type="button" name="редактировать" class="buttons" value="Редактировать" onclick="self.location.href='http://192.168.1.21/update_data.php';"/>
<input type="button" name="поиск" class="buttons" value="Поиск" onclick="self.location.href='http://192.168.1.21/search.php';"/>
</td></tr>
 </table>
 </form>
 <script type="text/javascript">
       
<?php 
 foreach ($data as $c)
 {
        if (isset($_POST[$c]))
        {
 ?>
        document.getElementById('<?=$c ?>'). value = '<?=$_POST[$c]?>';
<?
        } 
 }
 ?>
 
 </script> 
 </body>
 </html>
держи готовый вариант , всё запоминает
1
3 / 3 / 3
Регистрация: 15.12.2011
Сообщений: 160
12.01.2012, 13:48  [ТС] 17
Все шикарно! Даже SELECTы запоминает.
При неоплном заполнении выводит сообщение, как и положено.
Но при корректном заполнении...
some errorYou have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1
Добавлено через 2 минуты
и это...
Примечания стали обязательными О.о
0
2433 / 2285 / 594
Регистрация: 27.05.2011
Сообщений: 7,808
12.01.2012, 14:21 18
перед "$add = mysql_query($add);"
доваь echo $add;
и посмотри где ошибка , может с индексами намахался , там помойму запятая лишняя

p.s.
замени $add = mysql_query($add); на $result = mysql_query($add);
1
3 / 3 / 3
Регистрация: 15.12.2011
Сообщений: 160
12.01.2012, 14:31  [ТС] 19
INSERT INTO zakazy(gotovnost , firma , adress , imya , tel , ves , kuda , oplata , primechaniya , prinyal , kurier) VALUES ( 'Готово' , 'ООО' , 'Ул Пупкина' , 'Тарас' , '0000000' , '15' , 'Харьков' , 'Нал' , 'Нету' , 'Дима' , 'Владимир' ,)some errorYou have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1
Вот что выдало
0
2433 / 2285 / 594
Регистрация: 27.05.2011
Сообщений: 7,808
12.01.2012, 14:32 20
дада там запятая лишняя
замени
$add[ strlen($add) - 1 ] = ')';
на
$add[ strlen($add) - 2 ] = ')';
1
12.01.2012, 14:32
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.01.2012, 14:32
Помогаю со студенческими работами здесь

Как остановить repeat при неверном вводе
Как остановить repeat если число не кратное 4. Если число не кратное то он бесконечно прибавляет...

Обработка исключений при неверном вводе данных
Здравствуйте.Возникла проблема с реализацией исключения на ввод(необходимо,чтобы при вводе...

Выход из калькулятора при неверном вводе данных
Товарищи, подскажите пожалуйста. В задаче требуется выйти из приведённого ниже калькулятора путём...

Событие при неверном вводе даты в DateTimePicker
Задаю параметр DateTimePicker1.Date из ячейки StringGrid. Мне надо, чтобы если пользователь ввёл...


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

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