Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проверка данных и ключа массива 
V
    Опции темы
BlackRu
  Дата 8.10.2010, 02:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 431
Регистрация: 14.9.2009

Репутация: нет
Всего: 4



Допустим есть массив, который выводится рандомом с формой отправки методом POST
Код

$askss['В каком году основан город Москва?'] = array('name'=> "1147");
$askss['Как называется наша планета?'] = array('name'=> "Земля");
$askss['Кто светит нам утром в окно?'] = array('name'=> "Солнце");
echo array_rand($askss);
echo "</br><input type=\"text\" name=\"thekey\" value=\"\"></br>;

Можно ли при отправке сопоставить данные и ключ ?
как написать проверку?


Это сообщение отредактировал(а) BlackRu - 8.10.2010, 02:49


--------------------
Удалена администрацией форума
PM MAIL WWW Skype   Вверх
CruorVult
Дата 8.10.2010, 10:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 868
Регистрация: 24.9.2008
Где: г.Киев, Украина

Репутация: 9
Всего: 28



отправлять с формой сам вопрос
Код

$askss['В каком году основан город Москва?'] = array('name'=> "1147");
$askss['Как называется наша планета?'] = array('name'=> "Земля");
$askss['Кто светит нам утром в окно?'] = array('name'=> "Солнце");
echo "<input type='hidden' name='ques' value='".array_rand($askss)."'>"
echo "</br><input type=\"text\" name=\"thekey\" value=\"\"></br>;


а проверять
Код

if(isset($askss[$_REQUEST['ques']]) && $askss[$_REQUEST['ques']] == $_REQUEST['thekey']) {
echo "Correct";
}

PM MAIL Skype   Вверх
BlackRu
Дата 8.10.2010, 15:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 431
Регистрация: 14.9.2009

Репутация: нет
Всего: 4



а я правильно понимаю, что тут без использования сессий не обойтись?




--------------------
Удалена администрацией форума
PM MAIL WWW Skype   Вверх
Guedda
Дата 8.10.2010, 16:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Подрывник
****


Профиль
Группа: Завсегдатай
Сообщений: 3137
Регистрация: 27.12.2005
Где: Ростов-на-Дону

Репутация: 13
Всего: 78



Цитата(BlackRu @  8.10.2010,  16:33 Найти цитируемый пост)
а я правильно понимаю, что тут без использования сессий не обойтись?

А где Вы увидели сессии в вышеописанном примере?


--------------------
Ll 2
PM MAIL WWW ICQ Skype GTalk   Вверх
BlackRu
Дата 8.10.2010, 16:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 431
Регистрация: 14.9.2009

Репутация: нет
Всего: 4



Guedda, 
А я уже не о вышеупомянутом примере, а в целом говорюsmile
не работает  у меня приведенный код, поэтому и спросил. 
для меня пока неясен механизм. Буду рад, если кто-нибудь подробно объяснит, можно без примеров
просто на словах. 


--------------------
Удалена администрацией форума
PM MAIL WWW Skype   Вверх
CruorVult
Дата 8.10.2010, 16:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 868
Регистрация: 24.9.2008
Где: г.Киев, Украина

Репутация: 9
Всего: 28



В скрытом поле хранится ключ выбраный радномом из массива вопросов
Код

echo "<input type='hidden' name='ques' value='".array_rand($askss)."'>"

отправляете его и на сервере проверяете, существует ли такой вопрос
Код

isset($askss[$_REQUEST['ques']])

и правильно ли введен ответ
Код

 $askss[$_REQUEST['ques']] == $_REQUEST['thekey']


что тут не ясного?

Это сообщение отредактировал(а) CruorVult - 8.10.2010, 17:00
PM MAIL Skype   Вверх
BlackRu
Дата 8.10.2010, 17:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 431
Регистрация: 14.9.2009

Репутация: нет
Всего: 4



CruorVult, у меня ошибка была, искренне прошу простиить. 


--------------------
Удалена администрацией форума
PM MAIL WWW Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0872 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.