Регистрирайте се безплатно, за да използвате услугите на сайта! | Вход
Начало Новини ИТ Работа Форум Видео Уроци Скриптове WiFi точки MyLinks Mytech Още


Нова тема
Помощ за един скрипт на PHP
Тази тема е погледната 270 пъти
Добави темата към любими | Принтирай темата | Нова тема 
Публикувано на: 09.11.2008 22:18
kukuruku
Чирак

Мнения: (6)

Здравейте,
можете ли да ми дадете някакви идеи и насоки за скрипт, който да взема датата и часа на създаване да user-а+времето на валидност(примерно 2 дни) и ако днешната дата и час са по-големи от тях да не разрешава достъп на този user.
Т.е да следи дали на потребителя му е изтекло времето за достъп.


 
---------------------------
Потребител от: 09.11.08 | Всички уроци от kukuruku | Всички скриптове от kukuruku
напиши eMail напиши лично съобщение виж профила на kukuruku
Публикувано на: 10.11.2008 15:23
napster
Император

Модератор

Мнения: (727)

До тук, нещо направил ли си?
Някакъв код!?


 
---------------------------
Потребител от: 25.02.08 | Всички уроци от napster | Всички скриптове от napster

Шизофрения е когато в един форум общуваш
сам със себе си под три различни ника!!!
http://www.hidrostroitel.com/
http://scullboxteam.org/



напиши eMail напиши лично съобщение виж профила на napster
Публикувано на: 11.11.2008 23:20
Rushvet
Калфа

Мнения: (51)

$doutre = mktime(0, 0, 0, date("m") , date("d")+1, date("Y"));

с mktime вземаш стойностите и после си ги сравняваш.


 
---------------------------
Потребител от: 10.11.08 | Всички уроци от Rushvet | Всички скриптове от Rushvet
напиши eMail напиши лично съобщение виж профила на Rushvet
Публикувано на: 16.11.2008 21:12
kukuruku
Чирак

Мнения: (6)

Аз реших проблема така:

$today = date('Y-n-j H:i:s');

$tdate = $today[0].$today[1].$today[2].$today[3].$today[5].$today[6].$today[8].$today[9].$today[11].$today[12].$today[14].$today[15];

$tdatechislo = (double) $tdate;

Другата дата я правя по същия начин и после сравнявам двете числа.


 
---------------------------
Потребител от: 09.11.08 | Всички уроци от kukuruku | Всички скриптове от kukuruku
напиши eMail напиши лично съобщение виж профила на kukuruku
Публикувано на: 16.11.2008 22:48
CBeTHaX
Ронин

Модератор

Мнения: (234)

Научете UNIX TIMESTAMP и си спестете тези главоболия със date...


 
---------------------------
Потребител от: 07.01.07 | Всички уроци от CBeTHaX | Всички скриптове от CBeTHaX

http://www.ricari-bg.com
напиши eMail напиши лично съобщение виж профила на CBeTHaX
Публикувано на: 17.11.2008 17:32
kukuruku
Чирак

Мнения: (6)

Научете UNIX TIMESTAMP и си спестете тези главоболия със date...
Погледнах TIMESTAMP и функциите с дата и час в MySQL, но не намерих функция, която да намира разликата в часове между две дати.Има само за разликата в дни.
Някакви идеи?


 
---------------------------
Потребител от: 09.11.08 | Всички уроци от kukuruku | Всички скриптове от kukuruku
напиши eMail напиши лично съобщение виж профила на kukuruku
Публикувано на: 17.11.2008 17:37
imagination
Ронин

Мнения: (178)

Цитат от CBeTHaX@16.11.2008 22:48:
Научете UNIX TIMESTAMP и си спестете тези главоболия със date...
Имаш някаква идея или просто говориш наизуст :)


 
---------------------------
Потребител от: 17.02.06 | Всички уроци от imagination | Всички скриптове от imagination

http://www.absurdi.com
напиши eMail напиши лично съобщение виж профила на imagination
Публикувано на: 17.11.2008 19:07
zipopro
Шогун

Мнения: (764)

Естествено че има идея!
http://it-place.net/index.php?type=dev&rid=12&srcid=552
Цитат:
DATE_ADD(date,INTERVAL expr type) / DATE_SUB(date,INTERVAL expr type)

Тези две функции се използват ако искате да определите дадена дата на базата на друга дата. Като пример нека да изведем датата преди 24 дена:

CODE
1
2
    mysql> select DATE_SUB('2005-10-23', INTERVAL 24 DAY);
           -> 2005-09-29

или да намерим датата след 24 дена:

CODE
1
2
    mysql> select DATE_ADD('2005-10-23', INTERVAL 24 DAY);
           -> 2005-11-16

Възможните типове за интервала може да погледнете в документацията на MySQL, но най често използваните са:

MICROSECOND , SECOND , MINUTE , HOUR , DAY , WEEK , MONTH , QUARTER ,YEAR


 
---------------------------
Потребител от: 20.12.06 | Всички уроци от zipopro | Всички скриптове от zipopro

Лъчезар Петров Лечев - 14 - Стара Загора - Уеб Програмист
Винчета, болчета гайкии...!
напиши eMail напиши лично съобщение виж профила на zipopro
Публикувано на: 17.11.2008 19:16
dinamic
Калфа

Мнения: (21)

Друг вариант е просто да си използва unix timestamp, както вече беше споменато. Нямам в предвид MySQL-ските функции, а чистия unix timestamp в php.

Можеш да вземеш текущото време със time(), времето след 2 дена си го взимаш със mktime(), като слагаш на деня +2 и си готов. Резултата ти е integer, който можеш да запишеш в базата данни и другия път когато потребителя се опита да се логне, да сложиш една елементарна проверка дали time() е по-голямо от стойността която си записал в базата данни.

Наистина ще е хубаво да поглеждате документацията преди да задавате подобни въпроси. Що за програмисти се броите, след като дори един timestamp не знаете 'що за жУвотно е.


 
---------------------------
Потребител от: 19.10.08 | Всички уроци от dinamic | Всички скриптове от dinamic
напиши eMail напиши лично съобщение виж профила на dinamic
Публикувано на: 17.11.2008 19:23
kukuruku
Чирак

Мнения: (6)

На мен ми трябва нещо като тази функция, само че да изчислява в часове разликата, не в дни.

DATEDIFF(expr,expr2)

Тази функция връща разликата в дни между две дати:
CODE
1
2
3
4
1
2
mysql> SELECT DATEDIFF('2005-10-23 23:59:59','2005-10-22');
        ->
1


 
---------------------------
Потребител от: 09.11.08 | Всички уроци от kukuruku | Всички скриптове от kukuruku
напиши eMail напиши лично съобщение виж профила на kukuruku
 1 посетител чете тази тема (0 потребители и 1 гост)  
Активни потребители: ---
   




mytech.bg © 2004 - 2009 | Контакти | За реклама