Сейчас пишу небольшую, максимально простую программу для внесения записей в БД.
В файле index.php происходит сперва проверка на существование переменных, полученных методом GET, затем вывод формы ввода данных.
В форме ввода 2 поля, каждое из которых требует вызова окна-справочника(вызываются в новом окне по нажатии гиперссылки). Из окна-справочника методом GET передаётся числовое значение обратно в форму index.php
Я выбираю первый справочник(view_fruit_tbl.php), жму на название-ссылку фрукта, методом GET передаю число в первое поле ввода (index.php), точно также нажимаю вторую ссылку(view_ovosh_tbl.php). В форму index.php возращается только код овоща, а код фрукта оказывается потерян
Как нужно правильно хранить переменные?
файл index.php:
<?php
if (isset($_GET['k1_fruit']))
{
$k1_fruit = $_GET['k1_fruit'];
}
else
{$k1_fruit ="";}
if (isset($_GET['k1_ovosh']))
{
$k1_ovosh = $_GET['k1_ovosh'];
}
else
{$k1_ovosh ="";}
?>
<form action="EnterData.php" method="post" name="frmBOL" target="_self">
<table>
<tr>
<td>Фрукт:</td>
<td>
<?php
printf( "
<input name='n_fruit' type='text' size='30' maxlength='30' value=%s></td>
",$k1_fruit);
?>
<td><a href="view_fruit_tbl.php" target="_blank">Справочник фруктов</a></td>
<td><?php echo $nb_fruit; ?> </td>
</tr>
<tr>
<td>Овощ:</td>
<td>
<?php
printf( "
<input name='n_ovosh' type='text' size='30' maxlength='30' value=%s></td>
",$k1_ovosh);
?>
<td><a href="view_ovosh_tbl.php" target="_blank">Справочник овощей</a></td>
<td><?php echo $nb_ovosh; ?> </td>
</tr>
<tr>
<td><input name="Submit" type="submit" value="Добавить"></td>
<td><INPUT type="reset" value="Сброс"></td>
<td></td>
<td></td>
</tr>
</table>
</form>
Спустя 9 минут, 13 секунд (11.03.2010 - 10:14) sergeiss написал(а):
klen312 - ты пытаешься получить переменные через GET, а передаешь их через POST
Цитата (klen312 @ 11.03.2010 - 11:05) |
method="post" |
Тебе нужно или брать переменные, переданные из формы, из массива POST, или сменить в форме метод передачи на get.
PS. И еще.
Вот это вот
Цитата (klen312 @ 11.03.2010 - 11:05) |
if (isset($_GET['k1_fruit'])) { $k1_fruit = $_GET['k1_fruit']; } else {$k1_fruit ="";} |
можно заменить на одну строку (то же и с POST можно сделать, суть в самой структуре)
$k1_fruit=isset($_GET['k1_fruit']) ? $_GET['k1_fruit'] : '';
Спустя 10 минут, 13 секунд (11.03.2010 - 10:24) klen312 написал(а):
В приведённой выше форме опечатка в action. Должно быть action="EnterData.php". Я ещё не дошёл до того, чтобы собственно отправлять данные из полей ввода n_fruit и n_ovosh куда-то ещё. То есть у меня кнопка "submit" в форме не работает.
Я пока ещё мучаюсь с заполнением этой формы. Если бы я наизусть знал коды фруктов и овощей, то набил бы в первое поле "13", а во второе "24", к примеру. Сейчас я вызываю окна-справочники, которые через GET мне возвращают как раз "13" или "24". Хочу чтобы при вызове справочника овощей значение "13" не пропадало из первого поля ввода.
Я пока ещё мучаюсь с заполнением этой формы. Если бы я наизусть знал коды фруктов и овощей, то набил бы в первое поле "13", а во второе "24", к примеру. Сейчас я вызываю окна-справочники, которые через GET мне возвращают как раз "13" или "24". Хочу чтобы при вызове справочника овощей значение "13" не пропадало из первого поля ввода.
Спустя 2 часа, 19 минут, 11 секунд (11.03.2010 - 12:44) Mizka написал(а):
Цитата |
То есть у меня кнопка "submit" в форме не работает. |
так ещё раз: у тебя с формы данные передаются методом post, а в скрипте ты ждешь что что-то придет через get... это то же самое, что ждать с крана с холодной водой горячую...
Спустя 1 час, 18 минут, 57 секунд (11.03.2010 - 14:03) klen312 написал(а):
<quote>так ещё раз: у тебя с формы данные передаются методом post</quote>
Забудьте, пожалуйста, про кнопку внизу указанной формы. До неё у меня пока руки не дошли.
<quote>, а в скрипте ты ждешь что что-то придет через get...</quote>
Да. view_fruit_tbl.php возвращает мне данные в форму index.php как раз методом GET. И я успешно получаю код фрукта. Это уже проверено. После того как я заполучил код фрукта, я лезу по ссылке на форму view_ovosh_tbl.php
Тут я выбираю код овоща, возвращаю его методом GET в форму index.php. Код ОВОЩА у меня успешно проставляется, но код фрукта пропадает.
Всё это время кнопку Submit, расположенную внизу формы index.php я не трогаю. Мне кажется, что я полный чайник или просто не могу описать то, что хочу видеть в результате
Забудьте, пожалуйста, про кнопку внизу указанной формы. До неё у меня пока руки не дошли.
<quote>, а в скрипте ты ждешь что что-то придет через get...</quote>
Да. view_fruit_tbl.php возвращает мне данные в форму index.php как раз методом GET. И я успешно получаю код фрукта. Это уже проверено. После того как я заполучил код фрукта, я лезу по ссылке на форму view_ovosh_tbl.php
<td><a href="view_ovosh_tbl.php" target="_blank">Справочник овощей</a></td>
Тут я выбираю код овоща, возвращаю его методом GET в форму index.php. Код ОВОЩА у меня успешно проставляется, но код фрукта пропадает.
Всё это время кнопку Submit, расположенную внизу формы index.php я не трогаю. Мне кажется, что я полный чайник или просто не могу описать то, что хочу видеть в результате