[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Хранение переменных
klen312
Доброго дня!

Сейчас пишу небольшую, максимально простую программу для внесения записей в БД.

В файле index.php происходит сперва проверка на существование переменных, полученных методом GET, затем вывод формы ввода данных.

В форме ввода 2 поля, каждое из которых требует вызова окна-справочника(вызываются в новом окне по нажатии гиперссылки). Из окна-справочника методом GET передаётся числовое значение обратно в форму index.php

Я выбираю первый справочник(view_fruit_tbl.php), жму на название-ссылку фрукта, методом GET передаю число в первое поле ввода (index.php), точно также нажимаю вторую ссылку(view_ovosh_tbl.php). В форму index.php возращается только код овоща, а код фрукта оказывается потерян sad.gif

Как нужно правильно хранить переменные?

файл 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 smile.gif

Цитата (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" не пропадало из первого поля ввода.

Спустя 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
<td><a href="view_ovosh_tbl.php" target="_blank">Справочник овощей</a></td>

Тут я выбираю код овоща, возвращаю его методом GET в форму index.php. Код ОВОЩА у меня успешно проставляется, но код фрукта пропадает.

Всё это время кнопку Submit, расположенную внизу формы index.php я не трогаю. Мне кажется, что я полный чайник или просто не могу описать то, что хочу видеть в результате sad.gif
Быстрый ответ:

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