Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: Программирование на PHP

  Все выпуски  

RusFAQ.ru: Программирование на PHP


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / PHP

Выпуск № 616
от 21.03.2007, 16:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 407, Экспертов: 56
В номере:Вопросов: 1, Ответов: 5


Вопрос № 78588: Здравствуй, уважаемый All! Расскажите, пожалуйста, как работать с массивами, полученными из форм при выключенном register_globals? Проблема в том, что я не могу получить значение элемента ассоциированного массива (ничего не выводит)....

Вопрос № 78.588
Здравствуй, уважаемый All!
Расскажите, пожалуйста, как работать с массивами, полученными из форм при выключенном register_globals? Проблема в том, что я не могу получить значение элемента ассоциированного массива (ничего не выводит).

Приложение:

Отправлен: 16.03.2007, 16:17
Вопрос задал: Porsche (статус: Посетитель)
Всего ответов: 5
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: PVS
Здравствуйте, Porsche!
$key=$_REQUEST["key"];
echo $key[value1];

или

echo $_REQUEST["key"][value1];
Ответ отправил: PVS (статус: Специалист)
Ответ отправлен: 16.03.2007, 16:20

Отвечает: Ерёмин Андрей
Здравствуйте, Porsche!
Все переменные доступны в трёх массивах: $_POST (при передаче данных методом POST), $_GET (при GET-передаче) и $_REQUEST (объединяет первые два, но лучше использовать их по отдельности). Если, например, в форме у вас поле <input type="text" name="myfield">, то его значение будет доступно как $_POST['myfield'], либо $_GET['myfield'], т.е. при обращении к массиву нужно указать имя - оно в элементах формы записано в name. В вашем примере немного непонятно, какие элементы содержит форма и как они называются. Надеюсь, что это краткое руководство поможет вам наладить работу скрипта.
---------
Нет правила без исключений. Правило без исключений - исключение из правил.
Ответ отправил: Ерёмин Андрей (статус: Профессор)
Россия, Тула
WWW: Программирование на Delphi. Помощь, советы, обмен опытом.
ICQ: 286867644
----
Ответ отправлен: 16.03.2007, 16:25

Отвечает: Игорь Елизаров
Здравствуйте, Porsche!
Судя по тексту программы вы не присвоили значение переменной $key[value2];
наверное надо было бы строчку
$key[]=$_REQUEST['key[]'];

записать ви виде
$key[value2]=$_REQUEST['key[value2]'];
и другой момент.

Мне неоднократно при отладке помогал PhpInfo()
вызовите его и проверьте значение передаваемых переменных.


---------
Пользователь - тоже человек..
Ответ отправил: Игорь Елизаров (статус: 10-ый класс)
Ответ отправлен: 16.03.2007, 18:13

Отвечает: Zolton007
Здравствуйте, Porsche!
У Вас, вероятно, отключен вывод ошибок в PHP (настраивается в файле php.ini)
У меня Ваш скрипт сразу выдал ряд предупреждений:
Notice: Use of undefined constant value1 - assumed 'value1' in w:homespwwwzltn estscript.php on line 2

Notice: Undefined index: key[value1] in w:homespwwwzltn estscript.php on line 2

Notice: Undefined index: key[] in w:homespwwwzltn estscript.php on line 3

Notice: Use of undefined constant value1 - assumed 'value1' in w:homespwwwzltn estscript.php on line 4

Делайте так:
Файл формы:
******************
<html>
<body>
<form action="script.php" method="GET">
<input type="text" name="key[value1]">
<input type="text" name="key[value2]">
<input type="submit" value="Пли!">
</form>
</body>
</html>
******************
Файл скрипта:
******************
<?php
print $_GET['key']['value1']; //выводит пустоту print $key[value2]; //тишина... )
print $_GET['key']['value2']; //выводит пустоту print $key[value2]; //тишина... )
?>
******************

Есть и другие варианты.
---------
Если твоя программа выполняет мистические действия, - значит ты сделал что-то невероятно тупое!
Ответ отправил: Zolton007 (статус: 6-ой класс)
Ответ отправлен: 16.03.2007, 19:51

Отвечает: Загиров Рустам
Здравствуйте, Porsche!
Несмотря на то, что вопрос простой, предыдущие ответы могли бы вызвать ошибку типа Notice.
Правильный вариант $_REQUEST['key']['value1'], а не $_REQUEST["key"][value1] без вторых кавычек, и темболее не $_REQUEST['key[value2]']
---------
Этот мир обречён на нас
©Сергей Маврин
Ответ отправил: Загиров Рустам (статус: Специалист)
Ответ отправлен: 16.03.2007, 20:25


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
ООО "Мастер-Эксперт Про", Москва, 2007
Авторские права | Реклама на портале
Версия системы: 4.46 от 18.03.2007
Яндекс Rambler's Top100

В избранное