Сверка значения поля в БД с текущим временем

Sonic777

Новичок
Сверка значения поля в БД с текущим временем

есть поле в БД. В него занесена дата в формате Y,m. Есть функция входа пользователей. при входе пользователь вводоит логин и пароль и сначала идет проверка дат (соответствие текущей и той что в БД)
и если все хорошо то идет проверка логина пароля и осуществляетсяя вход в систему, если даты не соответствуют то просто выводится сообщение что доступ закрыт.
проблема в следующем что когда у пользователя время его вышло и он не может входить на сайт то все работает а когда все верно система начинает думать и все...
в чем может быть проблема?
нужно просто сопоставить данные даты сегодня и той что в базе и все...
 

chisto_tolyan

Враг народа
как ты их сопостовляешь?какой формат поля, в которе занесена дата?
 

Sonic777

Новичок
поле у меня два. одно храним месяц другое год. оба varchar.
вот пример кода где текущую сравниваем с $full_month_off. работает тока когда не вопоняется первое условие ($tdate < $full_month_off)
PHP:
$tdate = date ("Y,m");
$username = $setinfo[username];
$month_off2 = $setinfo[month_off2];
$month_off = $setinfo[month_off];
$full_month_off = ("$month_off2,$month_off");
 if ($tdate < $full_month_off)                                  
{ ... бла бла бла
} else {echo "Close";}
 

Sonic777

Новичок
я не заню зачем... как смог так и сделал...
как лучше?
white phoenix
затем это за чем???
 

white phoenix

Новичок
Sonic777
> как лучше?
Лучше сравнивать на уровне SQL-запроса, как это делается написано по ссылке которую дал Фанат.
> затем это за чем???
Что в школе по русскому было? 'затем' слитно - указывает на порядок действий, т.е.: исправь ',' на '.', и после этого сделай
PHP:
$full_month_off = floatval($full_month_off);
$tdate = floatval($tdate);
Хотя порядок действий роли не играет :)
 

Sonic777

Новичок
сделал как вы написали не помогает.. все равно думает....
а как сделать правильно на уровне SQL-запроса? что то я не пойму..
есть поле month_off2 и $month_off год и месяц соответственно как в запросе сделать проверку?

-~{}~ 31.01.06 11:42:

просто я не знаю как сформулировать запрос....
помогите пожалста!
 

chira

Новичок
Sonic777
1. Если у тебя поле должно содержать дату, то и создай поле типа DATE и храни в нём последнюю дату возможности входа в систему.
тогда всех юзеров которым дано право подключаться можно выбрать SQL-ом:
Код:
SELECT *
FROM users
WHERE full_month_off >= CURRDATE()
2.
если даты не соответствуют то просто выводится сообщение что доступ закрыт.
проблема в следующем что когда у пользователя время его вышло и он не может входить на сайт то все работает а когда все верно система начинает думать и все...
в чем может быть проблема?
а нам привёл код где написано "{ ... бла бла бла "
именно в этом месте у тебя тормоза ...
тебе подсказать какое из "бла" исправить?
 

Sonic777

Новичок
просто нужно не все юзвери а конкретный при входе у него проверяется можно ему или нельзя....

а "{ ... бла бла бла " там просто код проверки паролей и проч... он работает как часы! а при добавлении усливия начинает тормазить.... да подскажи плз...!!! просто тут нельзя выложить много кода... спасибо...
 

Leksi

Новичок
[sql]
SELECT * from `table`
WHERE DATE_FORMAT(NOW(), '%Y%m') < CONCAT(`month_off2`,`month_off`)
[/sql]
Вот запрос - но ссылок, данных тебе было предостаточно.
ИМХО все таки проблема у тебя в коде "бла бла бла".
 
Сверху