• XSS.stack #1 – первый литературный журнал от юзеров форума

Kinomania 1.0

david_, сегодня полагаю вечерком сделаю..
про автоматизацию, может просто по личкам отправлять призы?
и какаяже это автоматизация а?? это опять таки ручками надо всё =)
а я имею ввиду придумать такую систему что если чел угадал или победил то ему автоматически высылается приз, и все рады и довольны
 
Мой вариант
HTML-ка getprise.html
Код:
<!-- HEAD и оформление -->
<form action="get.php" method="post">
<input type="text" name="try1">

<input type="text" name="try2">

<input type="text" name="try3">

<input type="text" name="try4">

<input type="text" name="try5">

<input type="submit" value="Try">
</form>
<!-- остальное -->

Пхп-шка get.php
Но есть две проблемки - алгоритм опознования пользователя, чтобы он имел только одну попытку.
Алгоритм начисления поинтов
Со вторым понятно - администрация ответит.
А вот с первым. В принципе, тоже администрация. Аналог определения пользователя при отправки сообщений - сессии/кукисы. Все, заполнить пробелы и у нас полноценный скрипт, который автор должен каждый раз немного изменять (ответы, порядок призов, номера:пассы uin-ов) при составлении нового квеста. ВСЕ!
Код:
<?
#Сюда вставить опознавание
if(!$file=fopen("filename.txt","r+"))
    {
      echo("Ошибка открытия файла");
    }
else
{
#Файл с номерами вопросов, на которые уже найдены ответы.
$file=fopen("filename.txt","r+");
$done=fread($file,5);
#Массив с ответами
#Каждый вопрос должен иметь один однозначный ответ.
#Это надо учитывать и правльно ставить условие.
#Награда поинтами. Всегда 5000. Менять тогда не надо.
$points="Вы получаете 5000 поинтов!
";
#Uins
$generaluin="Вы получаете uin:
";
#Сами уины+пассы менять надо!
$uin1="$generaluin 123123;password
";
$uin2="$generaluin 321312;drowssap
";
#Создаем массив с правильныим ответами. Надо менять!
$ans=array("123","otvet","shrek","art","answer");
#Создаем массив из введеных пользователем ответов
$try=array($try1,$try2,$try3,$try4,$try5);
#Создаем массив с призами. Надо менять!
$prises=array($points, $points, $uin1, $points, $uin2);

#Цикл проверки
for ($i=0; $i<5; $i++)
{
	$a=$i+1;
	echo("<b>Ответ на вопрос $a:</b>
");
	if($ans[$i]==$try[$i])              #Если правильно, то
	{
  echo("Правильно!
"); #Правильно!
  if(substr_count($done,"$i")) #Но если уже дан ответ раньше...
  {
  	echo("Но ответ был дан раньше.
");
  }
  else
  {
  	echo($prises[$i]); #Вот тебе =)
  	fputs ($file, $i);
  	if($prises[$i]==$points) #Если же ты выиграл поинты, надо же тебе их начислить...
  	{
    #Для тетсинга. Потом убрать
    echo("ОК
");
    #Алгоритм начисления поинтов. Взять у Winux-а
  	}
  }
	}
	else #Ну а если неверно, то...
	{ 
  echo("Неправильный.
" );
	}
}


}
?>

На все про все понадобилось около 2 часов. С тестингом на Denver-e. У меня все работало. Ах да, файл filename нужно создать сразу, чтобы потом не возникало вопросов. А сам файл можно даже оставить в общем доступе для чтения - так можно узнавать, на какие вопросы уже даны правильные ответы.
 
Shrek
Респект за проделанную работу. Я повысил тебе рейтинг.
Администрация обязательно рассмотрит ваши предложения. :D
Когда Winux будет онлайн, он доработает твой скрипт и мы наладим автоматическую выдачу призов.
 
Shrek, а вот это пральный подход к делу, щас немного занят, а завтра проверю на работоспособность скрипт, кстати может отдельный топик-конк надо сделать насчет автоматизации выдачи, а у шрека реальный шанс на победу....кстати, может набросаешь рабочий скрипт и выложишь его где-нить...с левыми асями и пассами?
 
Люд, сливайся на forbusiness.h15.ru/index.html и вперед. Все предупреждения и ошибки в этот топик!
На это внимания не обращать - это мои штучки с сессиями:

Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /home/f/forbusiness.h15.ru/WWW/auth.php:16) in /home/f/forbusiness.h15.ru/WWW/auth.php on line 17

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /home/f/forbusiness.h15.ru/WWW/auth.php:16) in /home/f/forbusiness.h15.ru/WWW/auth.php on line 17

Ну и еще на подобные вещи... (session)

В общем, задачку дали такую, что я пхп за день освоил =)

Ах да. Немаловажное изменение - это список победителей и способ получения паролей:
1. Список победителей - опубликую тогда, когда будет работа с сессиями этого форума и спосок уплоуда поинтов.
2. Получение паролей происходит без влияния на регистр!
Код:
$try=array(strtolower($try1),strtolower($try2),strtolower($try3),strtolower($try4),strtolower($try5));
 
Хорошо, постараюсь сделать вторую киноманию сегодня/завтра.
Если приз даш - будет вообще шикарно. Щас есть пару мелодий и еще что-то. Я уже давнооо готовлю.
 
Итак, конкурс готов. вечером выложу.
Итак, какие у нас призы.....
Я могу дать по 1000 поинтов за каждый угаданный фильм. Давид даст асю. Возможно каждый играющий еще и по слону получит (красивая девятка).

Ждите вечера...
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх