<MyRusakov.ru />

Фреймворк Yii 2.0 с нуля. Пример создания сайта

Фреймворк Yii 2.0 с нуля. Пример создания сайта

Видеокурс "Фреймворк Yii 2.0 с нуля. Пример создания сайта" обучит Вас созданию профессиональных сайтов с использованием фреймворка Yii. В курсе есть 2 раздела: теоретический и практический. В теоретическом разделе будут разобраны возможности фреймворка Yii с примерами их использования, а в практической части будет создан сайт Blog.MyRusakov.ru с помощью полученных знаний из теоретического раздела.

Так же почти ко всем урокам идут упражнения для закрепления материала из урока на практике.

После прохождения курса Вы без труда сможете создавать любые сайты с использованием фреймворка Yii, причём делать это будете быстро и качественно.

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Форум сайта MyRusakov.ru

Запрет регистрации на сутки
12.07.2012 13:48:47 Запрет регистрации на сутки Сообщение #1
Default

Default

Эксперт

Эксперт

Дата регистрации:
12.06.2012 15:20:27

Сообщений: 102

Доброго дня, есть идея сделать регистрацию пользователя с ограничением 1 регистрации на 1 день. то есть если он зарегистрировался сегодня, то уже не сможет в этот же день еще раз зарегистрироваться, как это сделать? это надо создать таблицу, куда при обращении к файлу registration.php будет вноситься его IP-адрес, а потом просто проверять, если такой IP есть, то запрещать регистрацию?
Профиль Ответить
12.07.2012 15:20:44 Запрет регистрации на сутки Сообщение #2
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

Совершенно верно. Создаёте отдельную таблицу, в которой хранится ip и дата регистрации. При каждой регистрации проверяете, регистрировался ли данный IP в течение последних суток, если нет, значит, можно регистрировать.
Профиль Ответить
12.07.2012 16:23:14 Запрет регистрации на сутки Сообщение #3
Default

Default

Эксперт

Эксперт

Дата регистрации:
12.06.2012 15:20:27

Сообщений: 102

А подскажите тогда еще вот что, создам в таблице поле DATE по умолчанию 0000-00-00 (год, месяц, день) то функция NUM() поставит текущею дату в поле? и когда буду выбирать

"Select COUNT(id) From ip_user_reg WHERE ip='".$_SERVER['REMOTE_ADDR']."' AND date < '' ";

то чему date будет меньше? спасибо
Профиль Ответить
12.07.2012 16:25:06 Запрет регистрации на сутки Сообщение #4
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

Вы создавайте поле с датой в виде timestamp, чтобы там было количество секунд с 01.01.1970.
Профиль Ответить
12.07.2012 16:38:34 Запрет регистрации на сутки Сообщение #5
Default

Default

Эксперт

Эксперт

Дата регистрации:
12.06.2012 15:20:27

Сообщений: 102

то есть надо работать с функцией mktime()?
Профиль Ответить
12.07.2012 19:42:01 Запрет регистрации на сутки Сообщение #6
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

Нет, она не нужна. Вам нужна только функция time().
Профиль Ответить
15.07.2012 19:14:12 Запрет регистрации на сутки Сообщение #7
Default

Default

Эксперт

Эксперт

Дата регистрации:
12.06.2012 15:20:27

Сообщений: 102

Прочел Вашу статью про бан по ip и что-то перехотелось, вдруг кто еще будет под этим же ip.. решил написать такую функцию

$sql = mysql_query("SELECT id, time FROM table_session_id WHERE session_id = '".session_id()."'
AND time > ".time()."";
if(!$sql) exit(mysql_error());
$result = mysql_fetch_assoc($sql);
$total = mysql_result($sql,0);
if($total > 0){

header("Location:registration.php";
if(time() >= $result['time']){
$sql = mysql_query("DELETE FROM table_session_id WHERE session_id = '".session_id()."'";
if(!$sql) exit(mysql_error());
}

}else{
$sql = mysql_query("INSERT INTO table_session_id (session_id, time)
VALUES ('".session_id()."', ".(time()+30)."";
if(!$sql) exit(mysql_error());

}


вроде бы работает. на сколько я знаю индификатор сессии постоянный, пока не почисти куки, ведь так?
Профиль Ответить
16.07.2012 01:18:42 Запрет регистрации на сутки Сообщение #8
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

Да, всё так, либо время хранения куки истекло.
Профиль Ответить
16.07.2012 13:08:07 Запрет регистрации на сутки Сообщение #9
Default

Default

Эксперт

Эксперт

Дата регистрации:
12.06.2012 15:20:27

Сообщений: 102

а если уничтожать сессию через функцию session_destroy() при нажатии "выход", то session_id() тоже уничтожется?
Профиль Ответить
16.07.2012 15:37:37 Запрет регистрации на сутки Сообщение #10
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

Нет, этого недостаточно, так как в куки она сохранится.
Профиль Ответить