Страниц (3): « 1 [2] 3 » |
|
Описание: скрипт День рождения |
Поиск в теме | Версия для печати |
Furax |
Отправлено: 28 Февраля, 2008 - 21:09:30
|
Бледнотик
Покинул форум
Сообщений всего: 1472
Дата рег-ции: Март 2007
Откуда: Иркутск, Сибирь, СССР
Карма 32
|
ПослеCODE:if (!isSet($dates[$month][$day]))
$dates[$month][$day] = array(); добавляем:CODE:if (array_search($_POST['nick'], $dates[$month][$day[) !== FALSE)
{
echo 'День рождения уже есть в базе!';
return;
}
По второму вопросу - это уже надо наворачивать скрипт регистрации, хотя, если устроит простой вариант (с cookie-файлами), то можно сделать так:CODE:if (isSet($_COOKIE['added']))
{
setCookie('added', 'true', time()+365*24*60*60);
?>Вы не можете добавить больше, чем один день рождения!<?php
}
else
{
?> Тут код формы добавления и сама функция добавления <?php
} В конце функции addRecord() (после строчки "fclose($file);" добавляем:CODE:setCookie('added', 'true', time()+365*24*60*60);
База делается просто:CODE:$dates = unserialize(file_get_contents('birthdays.txt'));
foreach ($dates as $month => $monthContent)
foreach ($monthContent as $date => $dateContent)
print "<b>$date.$month:</b> " . implode(', ', $dateContent) . '<br>'; |
|
|
Furax |
Отправлено: 29 Февраля, 2008 - 10:57:45
|
Бледнотик
Покинул форум
Сообщений всего: 1472
Дата рег-ции: Март 2007
Откуда: Иркутск, Сибирь, СССР
Карма 32
|
Полный код должен быть таким:CODE:<form action="/" method="post">
День: <input name="day" size="2" maxlength="2"><br>
Месяц: <input name="month" size="2" maxlength="2"><br>
Ник: <input name="nick"><br>
<input type="submit" value="OK">
</form>
<?php
function addRecord()
{
if (! (isSet($_POST['day']) && isSet($_POST['month']) && isSet($_POST['nick'])))
return;
if (($_POST['day'] != (string)(int)$_POST['day']) || ($_POST['month'] != (string)(int)$_POST['month']))
{
echo 'Неверно введена дата рождения!';
return;
}
$day=(int)$_POST['day'];
$month=(int)$_POST['month'];
$monthSizes = array(0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
if (! (isSet($monthSizes[$month]) && ($day >= 1) && ($day <= $monthSizes[$month])))
{
echo 'Неверная дата!';
return;
}
if (!preg_match('/\w{1,100}/', $_POST['nick']))
{
echo 'Недопустимый ник!';
return;
}
$dates = unserialize(file_get_contents('birthdays.txt'));
if (!isSet($dates[$month]))
$dates[$month] = array();
if (!isSet($dates[$month][$day]))
$dates[$month][$day] = array();
if (array_search($_POST['nick'], $dates[$month][$day]) !== FALSE)
{
echo 'День рождения уже есть в базе!';
return;
}
$dates[$month][$day][] = $_POST['nick'];
$file = fopen('birthdays.txt', 'w');
fwrite($file, serialize($dates));
fclose($file);
}
addRecord();
?> |
|
|
|
Поиск в теме | Версия для печати |
Страниц (3): « 1 [2] 3 » |
Сейчас эту тему просматривают: 2 (гостей: 2, зарегистрированных: 0, скрытых: 0) |
« JavaScript » |
Все гости форума могут просматривать этот раздел. Только администраторы и модераторы могут создавать новые темы в этом разделе. Только администраторы и модераторы могут отвечать на сообщения в этом разделе.
|
|
|