Всем привет! Срочно нужна ваша помощь.
Итак мы собираемся всей тусой закрыть летний сезон. В связи с этим снимаем клуб. Надо бы накатать простенький пхп/перл скрипт шоб он такой был:
есть надпись вида
»
идет матрасян: число
прочих людей: число
итого: число
»
под нею два едитбокса. К одному подпись: «сколько матрасян с вами идет?».
К другому «а сколько левого народу с вами будет?»
и кнопень «отметится».
После этого на комп к отметившемуся кладется плюшка. Если у него уже есть плюшка — то пишем «вы уже проголосовали и пошли ка вы нах». Если нет — увеличиваем счетчики соответствующие. Числа хранятся в текстовом файле, скулю поднимать ради этого дела ломает.
Зарнее спасибо если напишете. Если укажете доку по перлу/пхп шоб за вечерок успел я изучить все шо нужно для этого скрипта — тож спасибо. Тока скажите примерно в сторону каких функций копать. Скриптик простенький, просто завтра я буду дома тока вечером — а уже к ночи он уже должен быть готов :)
Спасибо!
Последние комментарии
- OlegL, 17 декабря 2023 года в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
Короче вот такая вот фыгня. Начал писать сам. Три часа ночи — не оченгь подходящее для изучения время :)
Вот код:
Вопрос: то ли плюшка не кладется, но вобщем после первого вызова скрипта видим надпись «лови плюшку» и «вы ввели стока-то матрасян и пр.».После повторного запуска по идее должна быть надпись «Вы уже голосовали», но ее нету, и плюшки как будто и нету. В чем фигня? Причем в браузере есть меню «куки» — там список всех плюшек. В нем есть плюшка reload, значение yes. Че я делаю не так?
пробовал юзать if (isset ($reload)) — та же кака. Сделал echo $reload — переменная всегда пустая. В чем лажа? Как присвоить ей значение такой куки?
Юзаю вотьь енту доку:
http://www.codenet.ru/webmast/php/cookies.php
ЗЫ: все, пойду спать :)
Во прочитал енто: (из официяльной доки).
Вы можете установить cookie используя функцию setcookie(). Cookie — часть заголовка HTTP, то есть функция SetCookie должна быть вызвана до того, как любой вывод будет полан браузеру (Ряд замечаний здесь просто необходим, по-моему. Во-первых, «любой» вывод — это, в том числе, и пустая строчка в начала PHP скрипта. Во-вторых, «подкрутив» php.ini можно добиться того, чтобы cookie слались и после начала вывода в окно браузера — но кто только станет «крутить» php.ini на сервере хостера?). Это — то же самое ограничение, что и для функции header(). Любые cookie, посланные вам клиентом, автоматически переводятся в переменные PHP, точно также, как данные POST и GET методов.
Засунул куку в начало скрипта
<?
if (!isset($reload )) {
$y2k = mktime(0,0,0,1,1,2005);
setcookie(’reload’, 'yes’, $y2k);
}
else {
echo 'Вы уже голосовали’;
return;
}
$matras = $_POST['matras'];
$levak = $_POST['levak'];
if (!(is_numeric ($matras) && is_numeric ($levak))) {
echo 'Вводить мона тока цифры, ибо не ху# мне мозги еб#$ь!’;
return;
}
echo «Вы ввели: матрасян $matras, остальных $levak»;
?>
та же кака. в свойствах браузера reload в yes, а переменная пуста
Вот перловый вариант.
Сразу говорю, с плюшками этот скрипт работать не умеет. Остальное все делает:
<form action=«count.pl» method=«post»>»;
print «сколько матрасян с вами идет? <input name=«Gmatr»>
»;
print «а сколько левого народу с вами будет? <input name=«Gpeop»>
»;
print «<input type=«hidden» name=«Gmatr» value=«$Gmatr»>»;
print «<input type=«hidden» name=«Gpeop» value=«$Gpeop»>»;
print «<input name=«action» value=«post» type=«hidden»>»;
print «<input type=«submit» value=«отметится»>»;
print «</form>»;
if ($action eq «post»)
{
&submit;
}
sub submit {
$file = «data.txt»;
open DAT, «$file»;
@numb = ;
$matr = $numb[0];
$peop = $numb[1];
close DAT;
$Nmatr = $Gmatr + $matr;
$Npeop = $Gpeop + $peop;
open DAT, «>$file»;
print DAT «$Nmatr\n»;
print DAT «$Npeop»;
close DAT;
}
</form>
могу посоветовать (в перловом варианте) вместо плюшек использовать переменные окружения, типа:
$ENV{«REMOTE_ADDR»} — IP-aдрес посетителя
$ENV{«HTTP_USER_AGENT»} — тип браузера
$ENV{«HTTP_ACCEPT_LANGUAGE»} — язык
С ними работать куда удобнее и проще, как с обычными переменными.
Т.е. пишешь их в лог, потом сравниваешь с текущими, и если равны, то блокируешь операцию.
ЯТЬ! Помогите с плюшками plz!
Рахобрался. Куки берем из массива $HTTP_COOKIE_VARS
Короче на днях куплю книфку тооолстенькую по пхп :)
Усе, написал :)
Покажешь всем? Мне, например, интересно… ;)
Покажу. Три файла. Вот первый:
index.html
<form method=«post» action=«vote.php»>
Здесь вы можете отметится сколько вас пойдет на пати</a>.
FormaT & LiveRadio представляют
LiveRadio Party!!!
28.08.2004
Deep Sound Club (бомбоубежище)
house, disco, funk, jungle, deep house from dj’s:
Vasic, hoopa, stu’art
вход: 100.ru
«давайте проводим лето замечательным общением, или просто мего пьянкой =)»
Адрес клуба: ст. м. Лиговский проспект, ул. Черняховского, 31
================
подробности на канале #LiveRadio!
</i>
Итак, ваш ник:
<input type=«text» name=«nick» value=«Ананимус»>
Сколько будет от вас:
Матрасян: <input type=«text» name=«matras» value=«0»>
Прочих: <input type=«text» name=«levak» value=«0»>
<input type=«submit» name=«submit» value="Кнопка срабатывает при силе нажатия не менее 50 кг ;)">
Статистика</a>
<em>Developed by LONGOBARD (longobard@users.mns.ru)</i></em>
</form>
</form>
Вот второй:
result.php
';
echo '
Вот третий:
vote.php
$nick, здарофф!</h1>
Не пинать за корявый код, завтра буду прилизывать, аж самому стыдно :)
<table width=«700» border=«1» cellspacing=«0» cellpadding=«0»>
<tr>
<td>Ник</td></td>
<td>IP</td></td>
<td>Идет матрасян</td></td>
<td>Идет прочих</td></td>
<td>Итого идет</td></tr>’;
while ($fuck = mysql_fetch_row($result)) {
$ip = $fuck[0];
$matras = $fuck[1];
$levak = $fuck[2];
$nick = $fuck[3];
$total = $matras+$levak;
$total_counter += $total;
$total_matras += $matras;
$total_levak += $levak;
echo »
</td>
</tr>
<tr>
<td>$nick</td></td>
<td>$ip</td></td>
<td>$matras</td></td>
<td>$levak</td></td>
<td>$total</td></tr>»;
}
print «</table>\n»;
echo »
Итого идет $total_counter человек, из них $total_matras матрасян и $total_levak прочих </h1>»;
/* Освобождаем память от результата */
mysql_free_result($result);
/* Закрываем соединение */
mysql_close($link);
?>
</td>
</tr>
</table>
внушаить….
decvar ты думаешь я забыл заменить пасс в постинге? Пасс я специяльно выложил сюды фейковый %)
Что, уже поменять успел? :-)
Good Luck,
UT
Какие мы шустрые ;)
Свяжитесь со мной через ICQ 136061617 или e-mail programms@mcmxx.com — за деньги можем договориться…
Пацак не только меркантильный, но и невнимательный. Не заметил, что вопрос уже решен. Придется ему искать деньги где-нибудь в другом месте…
Good Luck,
UT
Я уже продолжаю дальше изучать :) Кстати я думал что знаю хорошо С++. Однако после этого теста, где ответил правильно только на вопросы с 1 по 7, понял что не мешало бы подучить его :)
Ну ты, конечно, подучи, если есть желание, но строго говоря, тест дебильный. Последнее время я часто встречаю такие «тесты» очень часто, даже в математике, на собеседовании при приеме студентов в аспирантуру. Автором теста всегда движет подспудное желание показать, что он д’Артаньян, а все остальные… даже не французы. Абсолютно ничего о способностях и уровне знаний кандидата такой тест не говорит. Странных феноменов в разных областях до фига, а уж придумать извратный искусственный пример слепления этих феноменов в одну кучу может каждый дурак. Не знаю, знаком ли ты с примером диктанта про «Колоссальную дощатую террасу», который легко доказывал, что абсолютно никто русского языка не знает, поскольку написать правильно не может.
Good Luck,
UT
Да уж. Тест этот на извраты языка :) Нормальный человек не извращается и извратов не знает :) Правда вот про виртуальное наследоание — это я зря забыл, надо учить.