Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Данные не передаются

Сообщения:  [1-10]   [11-18] 

 
 автор: Jet   (23.11.2004 в 19:42)   письмо автору
 
   для: cheops   (23.11.2004 в 16:23)
 

Новая тема - это хорошая мысль
Завожу
---------------------
>PS Хм... если код не слишком секретный вы можете прикрепить файлы к сообщению, я бы мог попытаться локализовать ошибку

Благодарю, надеюсь, смогу как-нибудь отплатить тем же =)
В принципе, не секретно. Однако там столько всего уже перепуталось, что я лучше отберу тот код, который конкретно касается темы обсуждения...

ПЕРЕХОДИМ НА НОВУЮ ТЕМУ
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=875&page=1

   
 
 автор: cheops   (23.11.2004 в 16:23)   письмо автору
 
   для: Jet   (23.11.2004 в 16:16)
 

А да, совершенно верно, имя я позабыл :)

PS Хм... если код не слишком секретный вы можете прикрепить файлы к сообщению, я бы мог попытаться локализовать ошибку. Если надумаете заведите лучше новую тему - так удобнее обсуждать...

   
 
 автор: Jet   (23.11.2004 в 16:16)   письмо автору
 
   для: 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(

   
 
 автор: cheops   (23.11.2004 в 15:52)   письмо автору
 
   для: 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-приложения, как результат файлы становятся меньше, а создавать и сопровождать их проще.

   
 
 автор: Jet   (23.11.2004 в 15:37)   письмо автору
 
   для: cheops   (19.11.2004 в 23:46)
 

>а в обработчике, если везде код ждёт эту переменную именно по методу GET написать...

Снова обнуляется, но я догадываюсь в чём проблема. Обработчик-то у меня:
<form action=<? echo $_SERVER['PHP_SELF']?>>

это может быть причиной того, что пока до обработки дело доходит, в переменных ГЕТ уже пусто?
------------
Вообще-то я бы уже с удовольствием попробовал разбросать форму и обработчик, но я пока плохо понимаю суть этого разбрасывания. Если бы кто-нибудь мне хотя-бы в двух словах объяснил на самом примитивном уровне (а лучше - на примере), что-же должно находиться в том файлике, который указывается как экшн?

   
 
 автор: cheops   (19.11.2004 в 23:46)   письмо автору
 
   для: Jet   (19.11.2004 в 15:49)
 

>Есть подозрения, что при нажатии на сабмит переменная из GET просто
> обнуляется... помогите разобраться пожалста...
Да она обнуляется, её следует засунуть в форму в скрытое поле
<input type=hidden type=<?php echo $_GET['type']; ?>>

а в обработчике, если везде код ждёт эту переменную именно по методу GET написать:
<?php
  $_GET
['type'] = $_POST['type'];
?>

   
 
 автор: Jet   (19.11.2004 в 15:49)   письмо автору
 
   для: 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 подробнее.

   
 
 автор: coloboc66   (19.11.2004 в 11:24)   письмо автору
 
   для: matrix   (19.11.2004 в 05:21)
 

А так не пробовал? $HTTP_GET_VARS[ ' value ' ]

   
 
 автор: matrix   (19.11.2004 в 05:21)
 
   для: glsv (Дизайнер)   (19.11.2004 в 00:44)
 

Да вот это я попал. Не передается. Не просто у меня работало а потом перестало.И блин не помню после какого момента.Че мог натворить?

   
 
 автор: glsv (Дизайнер)   (19.11.2004 в 00:44)   письмо автору
 
   для: matrix   (18.11.2004 в 22:18)
 

Да, странно//. Все должно работать.
Говорите что и через глобальные переменные тоже не идет?


<?
$_GET
['first']
$_GET['second']
?>


Проверьте в php.ini есть вот такая строка?

variables_order = "EGPCS"

   

Сообщения:  [1-10]   [11-18] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования