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

Форум PHP

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

 

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

вид форума:
Линейный форум Структурный форум

тема: Как записать ответы на вопросы в файл?
 
 автор: ByLex   (07.10.2009 в 20:09)   письмо автору
 
 

Это плагин icq бота SteelBot. Помогите пожалуйста. Что нужно дописать чтобы все ответы на вопросы записывались файл. Например: Вопрос: Сколько вам лет? Ответ: 1. 12-15. В файл должно записаться Сколько вам лет? 1. 12-15 .

<?php
class plg_test {
static $curq = array(), // текущий вопрос (uin => question_id)
$q = array(array("Сколько вам лет?", "12-15", "15-18", "18", "num"), // вопросы array (Вопрос, варианты ответа, тип)
array("Место учебы", "Школа", "Вуз", "num"),
array("Дата рождения в формате чч\мм\гггг", "date")
);

function get_next()
{
$uin = SteelBot::GetSender();
$text = SteelBot::GetMsgText();
$curr = intval(self::$curq[$uin]);
if ($text == 'help') return;
if ($text == 'тест') {
SteelBot::msg(self::GetText($curr));
SteelBot::DropMsg();
return;
}

switch (self::$q[$curr][count(self::$q[$curr])-1]) {
case 'num': // ответом является номер варианта ответа
$answ = intval($text);
if ($answ > (count(self::$q[$curr])-2) || $answ < 1) {
SteelBot::msg(self::GetText($curr));
SteelBot::DropMsg();
return;
}
/* тут мы записываем данные в файл или еще че нить делаем */
SteelBot::DropMsg();
break;
case 'date':
if (!preg_match_all("/(\d{2})\\\(\d{2})\\\(\d{4})/iU", $text, $out)) {
SteelBot::msg(self::GetText($curr));
SteelBot::DropMsg();
return;
}
$d = $out[1][0]; // число
$m = $out[1][1]; // месяц
$y = $out[1][2]; // год
/* тут мы записываем данные в файл или еще че нить делаем */
SteelBot::DropMsg();
break;
default:
SteelBot::DropMsg();
return;
}
self::$curq[$uin]++;
$curr++;
if ($curr == count(self::$q))
SteelBot::Msg("Вы прошли тест!");
else
SteelBot::Msg(self::GetText($curr));
return;
}

function GetText($num) {
$text = self::$q[$num][0];
$q = self::$q[$num];
switch ($q[count($q)-1]) {
case 'num':
$text .= "\nВыберите вариант ответа:";
for ($i = 1; $i < (count($q)-1); $i++)
$text .= "\n$i. " . $q[$i];
return $text;
case 'date':
$text .= "\nВведите ответ в формате чч\мм\гггг";
return $text;
default:
return "";
}
}
}
SteelBot::RegisterEventHandler(EVENT_MSG_RECIEVED, array ('plg_test', 'get_next'));
SteelBot::RegisterCmd("тест",array("plg_test", "get_next"), 1,"тест - пройти тест");

  Ответить  
Rambler's Top100
вверх

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