Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Как записать ответы на вопросы в файл?

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
ByLex
Отправлено: 08 Октября, 2009 - 21:17:03
Post Id


Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Окт. 2009  


Помог: 0 раз(а)




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

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. class plg_test {
  3. static $curq = array(), // текущий вопрос (uin => question_id)
  4. $q = array(array("Сколько вам лет?", "12-15", "15-18", "18", "num"), // вопросы array (Вопрос, варианты ответа, тип)
  5. array("Место учебы", "Школа", "Вуз", "num"),
  6. array("Дата рождения в формате чч\мм\гггг", "date")
  7. );
  8.  
  9. function get_next()
  10. {
  11. $uin = SteelBot::GetSender();
  12. $text = SteelBot::GetMsgText();
  13. $curr = intval(self::$curq[$uin]);
  14. if ($text == 'help') return;
  15. if ($text == 'тест') {
  16. SteelBot::msg(self::GetText($curr));
  17. SteelBot::DropMsg();
  18. return;
  19. }
  20.  
  21. switch (self::$q[$curr][count(self::$q[$curr])-1]) {
  22. case 'num': // ответом является номер варианта ответа
  23. $answ = intval($text);
  24. if ($answ > (count(self::$q[$curr])-2) || $answ < 1) {
  25. SteelBot::msg(self::GetText($curr));
  26. SteelBot::DropMsg();
  27. return;
  28. }
  29. /* тут мы записываем данные в файл или еще че нить делаем */
  30. SteelBot::DropMsg();
  31. break;
  32. case 'date':
  33. if (!preg_match_all("/(\d{2})\\\(\d{2})\\\(\d{4})/iU", $text, $out)) {
  34. SteelBot::msg(self::GetText($curr));
  35. SteelBot::DropMsg();
  36. return;
  37. }
  38. $d = $out[1][0]; // число
  39. $m = $out[1][1]; // месяц
  40. $y = $out[1][2]; // год
  41. /* тут мы записываем данные в файл или еще че нить делаем */
  42. SteelBot::DropMsg();
  43. break;
  44. default:
  45. SteelBot::DropMsg();
  46. return;
  47. }
  48. self::$curq[$uin]++;
  49. $curr++;
  50. if ($curr == count(self::$q))
  51. SteelBot::Msg("Вы прошли тест!");
  52. else
  53. SteelBot::Msg(self::GetText($curr));
  54. return;
  55. }
  56.  
  57. function GetText($num) {
  58. $text = self::$q[$num][0];
  59. $q = self::$q[$num];
  60. switch ($q[count($q)-1]) {
  61. case 'num':
  62. $text .= "\nВыберите вариант ответа:";
  63. for ($i = 1; $i < (count($q)-1); $i++)
  64. $text .= "\n$i. " . $q[$i];
  65. return $text;
  66. case 'date':
  67. $text .= "\nВведите ответ в формате чч\мм\гггг";
  68. return $text;
  69. default:
  70. return "";
  71. }
  72. }
  73. }
  74. SteelBot::RegisterEventHandler(EVENT_MSG_RECIEVED, array ('plg_test', 'get_next'));
  75. SteelBot::RegisterCmd("тест",array("plg_test", "get_next"), 1,"тест - пройти тест");

(Добавление)
$fp = fopen("otvety.txt", "a"); // Открываем файл в режиме записи
$mytext = "что тут писать?"; // Что здесь нужно написать чтобы в файл записался номер ответа+ответ в текстовом виде. Например: Вопрос: Сколько вам лет? Ответ: 1. Записаться дожно: Сколько вам лет? 1.12-15

$test = fwrite($fp, $mytext); // Запись в файл

fclose($fp); //Закрытие файла

Или как то по другому нужно, что я только не подставлял туда...ничего не получается подскажите пожалуйста. Может как то по другому нужно?
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB