Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Skrypt uaktualnienia stażu
kurczak610
post
Post #1





Grupa: Zarejestrowani
Postów: 87
Pomógł: 2
Dołączył: 3.05.2009

Ostrzeżenie: (0%)
-----


Witam, mam do was pytanko, jak zrobić taki skrypt:
Loguje się i dodaje mi do stażu +1, ale to moze odbywać sie tylko raz dziennie! nie ze za każdym logowaniem!!
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Savage.Mephisto
post
Post #2





Grupa: Zarejestrowani
Postów: 122
Pomógł: 11
Dołączył: 24.01.2008

Ostrzeżenie: (0%)
-----


Na początek stwórz sobie tabelę o nazwie user lub podobnie. W niej dodaj pola: id, login_time, time_out oraz practice (domyślnie 0) - wszystkie typu int(11).

I teraz tak - gdy user się zaloguje wywołuj poniższe funkcje:

  1. <?php
  2.    global $user;
  3.    $userId = $user->id; <-- tutaj pobierasz id zalogowanego u&#380;ytkownika
  4.  
  5.    $login_time = time(); <-- pobierasz aktualny czas (uniksowy znacznik czasu)
  6.    LoginTime($login_time,$userId);
  7.  
  8.    $time_out = $login_time+86400; <-- czas, po którym sta&#380; zwiększasz o 1 (w tym wypadku po upływie 1 dnia)
  9.    TimeOut($login_time,$time_out,$userId);
  10. ?>


  1. <?php
  2. function LoginTime($login_time,$userId) {
  3.  
  4.    global $db;
  5.    $query = "UPDATE user SET
  6.    login_time=$login_time
  7.    WHERE id=$userId";
  8.  
  9.    $result = $db->Execute($query);
  10.    if ($result === false) return 0;
  11.    return 1;
  12.  
  13. }
  14. ?>


  1. <?php
  2. function TimeOut($login_time,$time_out,$userId) {
  3.  
  4.    global $db;
  5.    $query = "SELECT time_out
  6.    FROM user
  7.    WHERE id=$userId";
  8.  
  9.    $result = $db->Execute($query);
  10.    $row = $result->FetchRow();
  11.    $t_out = $row[0];
  12.  
  13.    if ($t_out <= $login_time) {
  14.  
  15.        $query = "UPDATE user SET
  16.        time_out=$time_out,
  17.        practice=practice+1
  18.        WHERE id=$userId";
  19.  
  20.        $result = $db->Execute($query);
  21.        if ($result === false) return 0;
  22.        return 1;
  23.  
  24.    }
  25.  
  26. }
  27. ?>


I to z grubsza tyle.

Ten post edytował Savage.Mephisto 14.06.2009, 00:37:18
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 28.12.2025 - 18:28