|
|
|
|
|
для: cheops
(23.11.2004 в 16:23)
| | Новая тема - это хорошая мысль
Завожу
---------------------
>PS Хм... если код не слишком секретный вы можете прикрепить файлы к сообщению, я бы мог попытаться локализовать ошибку
Благодарю, надеюсь, смогу как-нибудь отплатить тем же =)
В принципе, не секретно. Однако там столько всего уже перепуталось, что я лучше отберу тот код, который конкретно касается темы обсуждения...
ПЕРЕХОДИМ НА НОВУЮ ТЕМУ
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=875&page=1 | |
|
|
|
|
|
|
|
для: Jet
(23.11.2004 в 16:16)
| | А да, совершенно верно, имя я позабыл :)
PS Хм... если код не слишком секретный вы можете прикрепить файлы к сообщению, я бы мог попытаться локализовать ошибку. Если надумаете заведите лучше новую тему - так удобнее обсуждать... | |
|
|
|
|
|
|
|
для: cheops
(23.11.2004 в 15:52)
| | КЛАСС! За это спасибо, cheops ... понял
-----------------
Кстати, в предыдущем посте случайно вместо
<input type=hidden type=<?php echo $_GET['type']; ?>>
|
не должно ли быть что-то вроде
<input type=hidden name="type" value=<?php echo $_GET['type']; ?>>
|
------------------
PS: Вроде и разбросал, а всё-равно где-то теряются значения 8( | |
|
|
|
|
|
|
|
для: Jet
(23.11.2004 в 15:37)
| | Вообще, в последнее время существует явная тенденция разделения формы и обработчика. Например, в .NET - на каждом шагу об этом твердят как о наивысшем достижении Microsoft :))). Суть метода проста. Все данные из формы отправляются тому файлу, кторый указан в action. Пусть имеется форма с единственным текстовым полем и кнопкой index.php
<form action=handler.php method=post>
<input type=text name=name>
<input class=button type=submit value=Отправить>
</form>
|
Тогда создав обработчик handler.php мы можем получить данные обращаясь к соответствующему элементу суперглобального массива
<?php
echo $_POST['name'];
// Полученные данные можно обрабатывать,
// заносить в базу данных и т.п.
?>
|
Если необходимо после обработки вернуться к исходной форме или перейти на другую страницу в конце обработчика можно поместить редирект на другую страницу
<?php
// Полученные данные можно обрабатывать,
// заносить в базу данных и т.п.
echo $_POST['name'];
// Автоматически осуществляем переход на исходную страницу
echo "<HTML><HEAD>
<META HTTP-EQUIV='Refresh' CONTENT='0; URL=index.php'>
</HEAD>";
?>
|
Разделением формы и обработчика - мы разделяем дизайн и программную логику Web-приложения, как результат файлы становятся меньше, а создавать и сопровождать их проще. | |
|
|
|
|
|
|
|
для: cheops
(19.11.2004 в 23:46)
| | >а в обработчике, если везде код ждёт эту переменную именно по методу GET написать...
Снова обнуляется, но я догадываюсь в чём проблема. Обработчик-то у меня:
<form action=<? echo $_SERVER['PHP_SELF']?>>
|
это может быть причиной того, что пока до обработки дело доходит, в переменных ГЕТ уже пусто?
------------
Вообще-то я бы уже с удовольствием попробовал разбросать форму и обработчик, но я пока плохо понимаю суть этого разбрасывания. Если бы кто-нибудь мне хотя-бы в двух словах объяснил на самом примитивном уровне (а лучше - на примере), что-же должно находиться в том файлике, который указывается как экшн? | |
|
|
|
|
|
|
|
для: Jet
(19.11.2004 в 15:49)
| | >Есть подозрения, что при нажатии на сабмит переменная из GET просто
> обнуляется... помогите разобраться пожалста...
Да она обнуляется, её следует засунуть в форму в скрытое поле
<input type=hidden type=<?php echo $_GET['type']; ?>>
|
а в обработчике, если везде код ждёт эту переменную именно по методу GET написать:
<?php
$_GET['type'] = $_POST['type'];
?>
|
| |
|
|
|
|
|
|
|
для: coloboc66
(19.11.2004 в 11:24)
| | Интересно, а у меня практически тот же глюк!!!
фишка такая:
- в settings.inc (это у меня include с предопределёнными значениями на сайте) прописан массив, в котором ключ соответствует строке (типа buy=>"Покупка "... и т.д.)
- есть 2 странички, одна из которых - форма обратной связи, а вторая (третья... пятая...) её вызывает с методом GET (вроде href="feedback.php?type=buy"). Естественно, разные услуги - разные ключи...
- Сама форма - POST и по сабмиту пишет строку в лог-файл фидбэка и шлёт мыло мне. Строка в логе должна содержать этот самый элемент массива из settings.inc, взятый по ключу из адресной строки (то-бишь $_GET['type']).
-------------------------
Так вот, глюк в том, что сам алгоритм генерирования, записи и отсылки на мыло инклудится и в нём этот type не видно. (пустая строка), хотя в начале инклуда я написал эхо этого значения и оно ЕСТЬ!, а вот в логах - пустая строка.
---------------------------
Есть подозрения, что при нажатии на сабмит переменная из GET просто обнуляется... помогите разобраться пожалста...
или хотя бы подскажите, где можно почитать о методах GET, POST и о SUBMIT подробнее. | |
|
|
|
|
|
|
|
для: matrix
(19.11.2004 в 05:21)
| | А так не пробовал? $HTTP_GET_VARS[ ' value ' ] | |
|
|
|
|
автор: matrix (19.11.2004 в 05:21) |
|
|
для: glsv (Дизайнер)
(19.11.2004 в 00:44)
| | Да вот это я попал. Не передается. Не просто у меня работало а потом перестало.И блин не помню после какого момента.Че мог натворить? | |
|
|
|
|
|
|
|
для: matrix
(18.11.2004 в 22:18)
| | Да, странно//. Все должно работать.
Говорите что и через глобальные переменные тоже не идет?
<?
$_GET['first']
$_GET['second']
?>
|
Проверьте в php.ini есть вот такая строка?
variables_order = "EGPCS"
|
| |
|
|
|
|