Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Автоматическое удаление

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Помогите с автоматическим удалением пользователей
vanicon
Отправлено: 24 Июня, 2010 - 06:07:59
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 808
Дата рег-ции: Янв. 2010  
Откуда: Самара


Помог: 17 раз(а)




Есть форма регистрации и после того как пользователь зарегистрируется отправляется письмо с ссылкой для подтверждения регистрации, и в течение 1 часа мне нужно удалить пользователя который не подтвердил свою регистрацию.
Вот скрипт:
PHP:
скопировать код в буфер обмена
  1.  
  2. $sqldel = mysql_query("SELECT time,id FROM users WHERE online = 0");
  3.  while ($delet = mysql_fetch_array($sqldel, MYSQL_ASSOC)) {
  4. $time = time()-3600;
  5. if($delet['time'] == $time){
  6. mysql_query("DELETE FROM users WHERE id='".$delet['id']."'");
  7. echo 'Удалил';
  8. }
  9. else{
  10. echo $delet['time'] -$time;
  11. }
  12. }
  13.  

И вроде бы удаляет, но если я сам обновляю страницу где и подключается данный скрипт, можно ли сделать чтобы каждый час запускался файл с эти скриптом, и можно ли это осуществить без использование cron, если нет то подскажите как и куда прописывать crontab команды.


-----
Так было, так есть и так будет
 
 Top
isle
Отправлено: 24 Июня, 2010 - 09:40:10
Post Id



Гость


Покинул форум
Сообщений всего: 111
Дата рег-ции: Окт. 2009  
Откуда: Казахстан, Алматы


Помог: 0 раз(а)




Без крона точно нельзя, если страница исключительно индивидуальная. По крону не спец - не подскажу. Но можно сделать еще типа крона фичу - постоянно применяю (псевдокрон) - ставим определение даты текущей и смотрим дату, которая нужна, если их разница больше допустимой, то выполняем некий скрипт, такую штуку можно поставить на абсолютно любую страничку сайта, куда заходят не слишком часто, но чаще, чем 1 раз в час, тогда вам не придется вручную проверять/удалять пользователя (обновлять страничку) - сами пользователи это будут делать за вас. Правда, нагрузка на сервер несколько увеличится. Скрипт сей можно вписать, например, в страницу регистрации. ;)
 
 Top
qbik
Отправлено: 24 Июня, 2010 - 09:41:29
Post Id


Гость


Покинул форум
Сообщений всего: 114
Дата рег-ции: Июнь 2010  


Помог: 0 раз(а)




в базу users писать timestamp
и или через cron или просто в конце скрипта регистрации нового пользователя удалять всех с просраченой регистрацией

DELETE FROM `users` WHERE `time`< now() -3600 AND `registered`!=true;
 
 Top
JustUserR
Отправлено: 24 Июня, 2010 - 15:25:46
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




vanicon пишет:
И вроде бы удаляет, но если я сам обновляю страницу где и подключается данный скрипт, можно ли сделать чтобы каждый час запускался файл с эти скриптом, и можно ли это осуществить без использование cron
Вашу задачу можно осуществить без использования планировшщика cron - потому что можно использовать обычную очередь задач в PHP-скрипте То есть когда на сайт заходит определенный пользователь по просходт проверка очереди задач - в вашем случае это выборка из БД всех неподтвержденных пользователей зарегистрированных более часу назад от текущего значения премени При этом такого подхода будет достаточно в любом случае - если на ваш сайт заходят посетители то очередь задач потихоньку будет выполняться и лишние пользователи будут удаляться - а если к вам никто не заходил то соответственно никто не и мог зарегистироваться


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB