Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.03.2012, 21:03   #1
kilogram
Форумчанин
 
Регистрация: 04.03.2012
Сообщений: 144
По умолчанию Прокоментировать пару строк кода

Расшифруйте логику работы что куда берется и получается в этом цикле.
Смущают вот эти названия в параметрах как ими манипуляция происходит ['doGo'] и ['known'] ?
Что откуда куда достается и вставляется куда?

Код:

<html><body>
<?php
if(@$_REQUEST['doGo']) {
	foreach(@$_REQUEST['known'] as $k=>$v) {
	if($v) echo "Вы знаете язык $k!<br>";
	else echo "Вы не знаете языка $k. <br>";
	}
}
?>
<form action="<?=$_SERVER['SCRIPT_NAME'] ?>" method="post">
Какие языки программирования вы знаете? <br>
<input type="hidden" name="known[PHP]" value="0">
	<input type="checkbox" name="known[PHP]" value="0">PHP<br>
<input type="hidden" name="known[PHP]" value="0">
<input type="checkbox" name="known[Perl]" value="0">Perl<br>
<input type="submit" name="doGo" value="Go">
</form>

</body></html>
kilogram вне форума Ответить с цитированием
Старый 27.03.2012, 21:25   #2
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

А что тут комментировать - некорректно работающий ..овнокод.
Переписать.
Andkorol вне форума Ответить с цитированием
Старый 27.03.2012, 21:36   #3
kilogram
Форумчанин
 
Регистрация: 04.03.2012
Сообщений: 144
По умолчанию

В документации написано:
Код:
REQUEST - это ассоциативный массив (array), который по умолчанию содержит данные переменных $_GET, $_POST и $_COOKIE.
REQUEST - я так понимаю это массив глобальный в котором внутри 3 массива вложенные?
В строке
Код:
<input type="submit" name="doGo" value="Go">
поле name=doGO. Это значение отправляется в глобальный массив REQUEST, а как же если согласно документации в глобальном ассоциативном массиве REQUEST 3 параметра?
kilogram вне форума Ответить с цитированием
Старый 27.03.2012, 21:48   #4
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от kilogram Посмотреть сообщение
В документации написано:
Код:
REQUEST - это ассоциативный массив (array), который по умолчанию содержит данные переменных $_GET, $_POST и $_COOKIE.
REQUEST - я так понимаю это массив глобальный в котором внутри 3 массива вложенные?
Зачем строить догадки - если проще взять и посмотреть, что там "внутри"?
PHP код:
echo '<pre>';
var_dump($_REQUEST); 
Цитата:
а как же если согласно документации в глобальном ассоциативном массиве REQUEST 3 параметра?
Нет в документации ничего подобного - это ваши предположения, которые будут развеяны после var_dump($_REQUEST);
Andkorol вне форума Ответить с цитированием
Старый 27.03.2012, 22:47   #5
kilogram
Форумчанин
 
Регистрация: 04.03.2012
Сообщений: 144
По умолчанию

Скажите
Код:
<input type="hidden" name="known[PHP]" value="0">
Куда попадает вот это known[PHP]?
kilogram вне форума Ответить с цитированием
Старый 27.03.2012, 22:57   #6
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от kilogram Посмотреть сообщение
Куда попадает вот это known[PHP]?
В массивы $_REQUEST и $_POST - в этом конкретном случае (method="post"), фактически это выглядит так:
$_REQUEST['known']['PHP'] = 0;
или
$_POST['known']['PHP'] = 0;
Andkorol вне форума Ответить с цитированием
Старый 27.03.2012, 23:33   #7
kilogram
Форумчанин
 
Регистрация: 04.03.2012
Сообщений: 144
По умолчанию

А массив known создается каким образом? За каждой итерацией вытягивается с формы и передается в качестве элемента массиву Request?
kilogram вне форума Ответить с цитированием
Старый 28.03.2012, 10:14   #8
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от kilogram Посмотреть сообщение
А массив known создается каким образом? За каждой итерацией вытягивается с формы и передается в качестве элемента массиву Request?
Вам, для начала, нужно разобраться и понять основы работы HTTP-протокола - вы, похоже, совсем не понимаете, как работает передача данных.
Работа с HTML формами - там же есть последовательные уроки по PHP, они помогут освоить основы.
Andkorol вне форума Ответить с цитированием
Старый 28.03.2012, 22:53   #9
kilogram
Форумчанин
 
Регистрация: 04.03.2012
Сообщений: 144
По умолчанию

То есть написав просто какое-то значение в поле name, например name="vasya" в глобальный массив REQUEST доступен во всех файлах, значение vasya полетит в РИКВЭСТ и запишется в него такое: $REQUEST['vasya'], а написав так name="vasya['Pupkin']" я вроде создаю этим двумерный массив в масиве РИКВЭСТ? Получается в РИКВЕСТЕ такое после name="vasya['Pupkin']" ----> $REQUEST['vasya']['Pypkin']?
kilogram вне форума Ответить с цитированием
Старый 28.03.2012, 23:20   #10
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от kilogram Посмотреть сообщение
То есть написав просто какое-то значение в поле name, например name="vasya" в глобальный массив REQUEST доступен во всех файлах, значение vasya полетит в РИКВЭСТ и запишется в него такое: $REQUEST['vasya'], а написав так name="vasya['Pupkin']" я вроде создаю этим двумерный массив в масиве РИКВЭСТ? Получается в РИКВЕСТЕ такое после name="vasya['Pupkin']" ----> $REQUEST['vasya']['Pypkin']?
Вы или боитесь попробовать и проверить, или проверили - и теперь не верите своим глазам...
Да, все так и есть - такая вот уличная магия.
Andkorol вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перевести с СИ++ на язык СИ (пару строк) DesignFootball.Ru Помощь студентам 17 07.11.2011 17:20
Прокоментируйте пару строк stenl1 Общие вопросы C/C++ 70 22.07.2011 21:34
Обьясните что делают и означают пару строк в программном коде! FreeZeT Общие вопросы C/C++ 2 15.06.2010 03:20
Расшифровать подробно пару строк программы prikolist Общие вопросы C/C++ 4 25.03.2009 22:50
Необходимо расшифровать пару строк программы prikolist Общие вопросы C/C++ 12 19.03.2009 22:08