Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
PHP - Log, e altro.. come posso fare?
Forum - PHP - Log, e altro.. come posso fare?

Avatar
Shutdown (Founder Member)
Guru


Messaggi: 1212
Iscritto: 10/09/2005

Segnala al moderatore
Postato alle 18:58
Venerdì, 28/10/2005
Amici mi mostrate per favore il sorgente di
un sistema per loggare gli utenti utilizzando
le sessioni e memorizzando le informazioni su un
file?

Magari fate loggare solo l'ip, il resto lo aggiungo io... grazie.. :k:

Mi fate anche vedere come posso creare e
cancellare files e cartelle?

Thank you...


1 + 1 = 10
PM Quote
Avatar
joker_ (Ex-Member)
Pro


Messaggi: 182
Iscritto: 14/02/2005

Segnala al moderatore
Postato alle 23:44
Sabato, 05/11/2005
per gestire gli utenti io ho creato un classe che si chiama session, se vuoi ti passo la versione aggiornata. Poi per quanto rigurda creare le cartelle si usa la sintassi mkdir(nomeCartella, permessiInValoreOttale); per cancellare una cartela si usa la sintassi rmdir(nomeCartella); per creare un file basta usare la sintassi fopen(nomeFile, "w+"); o lo crei da solo, per cancellare un file basta usare la funzione unlink(nomeFile);

PM Quote
Avatar
andriy88 (Ex-Member)
Pro


Messaggi: 118
Iscritto: 04/11/2005

Segnala al moderatore
Postato alle 1:37
Domenica, 06/11/2005
Testo quotato

Postato originariamente da joker_:

per gestire gli utenti io ho creato un classe che si chiama session, se vuoi ti passo la versione aggiornata.



joker_  mi potresti mandare anche a me la tua classe. Sono molto curioso e imparo sempre dai altri, quindi vorrei vedere magari hai fatto qualcosa che io non so fare. Cos? mi metto subito a studiare. heh ehe e h  Grazie


---
PM Quote
Avatar
joker_ (Ex-Member)
Pro


Messaggi: 182
Iscritto: 14/02/2005

Segnala al moderatore
Postato alle 18:23
Martedì, 08/11/2005
fatto

PM Quote
Avatar
pierotofy (Admin)
Guru^2


Messaggi: 6116
Iscritto: 04/12/2003

Segnala al moderatore
Postato alle 21:43
Martedì, 08/11/2005
Ma non si fa prima a postarla cos? tutti possono vederla? :asd:


Seguimi su Twitter: http://www.twitter.com/pierotofy

Fai quello che ti piace, e fallo bene.
PM Quote
Avatar
andriy88 (Ex-Member)
Pro


Messaggi: 118
Iscritto: 04/11/2005

Segnala al moderatore
Postato alle 22:11
Martedì, 08/11/2005
grazie


---
PM Quote
Avatar
joker_ (Ex-Member)
Pro


Messaggi: 182
Iscritto: 14/02/2005

Segnala al moderatore
Postato alle 11:36
Mercoledì, 09/11/2005
file session.class.php:

Codice sorgente - presumibilmente Php

  1. <?php
  2.  
  3. final class session {
  4.  private $dbHandle;
  5.  private $sessionVars;
  6.  
  7.  private $lifeTimeCookie;
  8.  private $lifeTimeSession;
  9.  private $sessionId;
  10.  private $cookieKey;
  11.  
  12.  public function __construct($tableName, $cookieKey, $dbHandle, $lifeTimeCookie=0, $lifeTimeSession=1800) {
  13.   $this->lifeTimeCookie=$lifeTimeCookie>0?time()+$lifeTimeCookie:0;
  14.   $this->lifeTimeSession=$lifeTimeSession;
  15.   $this->tableName=$tableName;
  16.   $this->cookieKey=$cookieKey;
  17.   $this->dbHandle=$dbHandle;
  18.   $this->sessionVars=array();
  19.   $this->startSession();
  20.  }
  21.  
  22.  public function __destruct() {
  23.  
  24.  }
  25.  
  26.  public function startSession() {
  27.   if(!isset($_COOKIE[$this->cookieKey])) {
  28.    $this->createSession();
  29.   } else {
  30.    $this->sessionId=$_COOKIE[$this->cookieKey];
  31.    $q_sql=mysql_query("select sessionId from ".($this->tableName)." where sessionId='".($this->sessionId)."'", $this->dbHandle);
  32.    if(!(mysql_num_rows($q_sql)>0)) {
  33.     $this->createSession();
  34.    } else {
  35.     mysql_query("update ".($this->tableName)." set sessionDate=".(time())." where sessionId='".($this->sessionId)."'", $this->dbHandle);
  36.     setcookie($this->cookieKey, $this->sessionId, $this->lifeTimeCookie, "/");
  37.    }
  38.   }
  39.  }
  40.  
  41.  public function createSession() {
  42.   $this->sessionId=md5(uniqid(microtime()));
  43.   mysql_query("insert into ".($this->tableName)." set sessionId='".($this->sessionId)."', sessionVars='', sessionDate=".(time()), $this->dbHandle);
  44.   setcookie($this->cookieKey, $this->sessionId, $this->lifeTimeCookie, "/");
  45.  }
  46.  
  47.  public function setVar($key, $value) {
  48.   $this->sessionVars=array();
  49.   $q_sql=mysql_query("select sessionVars from ".($this->tableName)." where sessionId='".($this->sessionId)."'", $this->dbHandle);
  50.   $d_sql=mysql_fetch_array($q_sql);
  51.   $this->sessionVars=unserialize($d_sql["sessionVars"]);
  52.   $this->sessionVars[$key]=$value;
  53.   mysql_query("update ".($this->tableName)." set sessionVars='".(serialize($this->sessionVars))."' where sessionId='".($this->sessionId)."'", $this->dbHandle);
  54.  }
  55.  
  56.  public function getVar($key) {
  57.   $q_sql=mysql_query("select sessionVars from ".($this->tableName)." where sessionId='".($this->sessionId)."'", $this->dbHandle);
  58.   $d_sql=mysql_fetch_array($q_sql);
  59.   $this->sessionVars=unserialize($d_sql["sessionVars"]);
  60.   if(isset($this->sessionVars[$key])) {
  61.    return $this->sessionVars[$key];
  62.   } else {
  63.    return null;
  64.   }
  65.  }
  66.  
  67.  public function destroySession() {
  68.   mysql_query("delete from ".($this->tableName)." where sessionId='".($this->sessionId)."'", $this->dbHandle);
  69.   setcookie($this->cookieKey, "", time()-3600, "/");
  70.  }
  71.  
  72.  public function timeoutSession() {
  73.   mysql_query("delete from ".($this->tableName)." where sessionDate<".(time()-$this->lifeTimeSession), $this->dbHandle);
  74.  }
  75. }
  76.  
  77. ?>



file sqlSintax.txt:

Codice sorgente - presumibilmente Php

  1. create table if not exists session {
  2.  sessionId varchar(32) primary key,
  3.  sessionVars text,
  4.  sessionDate integer
  5. );


PM Quote