Oppure

Loading
28/10/05 16:58
Shutdown
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...
aaa
05/11/05 22:44
joker_
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);
aaa
06/11/05 0:37
andriy88
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
aaa
08/11/05 17:23
joker_
fatto
aaa
08/11/05 20:43
pierotofy
Ma non si fa prima a postarla cos? tutti possono vederla? :asd:
Il mio blog: piero.dev
08/11/05 21:11
andriy88
grazie
aaa
09/11/05 10:36
joker_
file session.class.php:

<?php

final class session {
 private $dbHandle;
 private $sessionVars;

 private $lifeTimeCookie;
 private $lifeTimeSession;
 private $sessionId;
 private $cookieKey;

 public function __construct($tableName, $cookieKey, $dbHandle, $lifeTimeCookie=0, $lifeTimeSession=1800) {
  $this->lifeTimeCookie=$lifeTimeCookie>0?time()+$lifeTimeCookie:0;
  $this->lifeTimeSession=$lifeTimeSession;
  $this->tableName=$tableName;
  $this->cookieKey=$cookieKey;
  $this->dbHandle=$dbHandle;
  $this->sessionVars=array();
  $this->startSession();
 }

 public function __destruct() {

 }

 public function startSession() {
  if(!isset($_COOKIE[$this->cookieKey])) {
   $this->createSession();
  } else {
   $this->sessionId=$_COOKIE[$this->cookieKey];
   $q_sql=mysql_query("select sessionId from ".($this->tableName)." where sessionId='".($this->sessionId)."'", $this->dbHandle);
   if(!(mysql_num_rows($q_sql)>0)) {
    $this->createSession();
   } else {
    mysql_query("update ".($this->tableName)." set sessionDate=".(time())." where sessionId='".($this->sessionId)."'", $this->dbHandle);
    setcookie($this->cookieKey, $this->sessionId, $this->lifeTimeCookie, "/");
   }
  }
 }

 public function createSession() {
  $this->sessionId=md5(uniqid(microtime()));
  mysql_query("insert into ".($this->tableName)." set sessionId='".($this->sessionId)."', sessionVars='', sessionDate=".(time()), $this->dbHandle);
  setcookie($this->cookieKey, $this->sessionId, $this->lifeTimeCookie, "/");
 }

 public function setVar($key, $value) {
  $this->sessionVars=array();
  $q_sql=mysql_query("select sessionVars from ".($this->tableName)." where sessionId='".($this->sessionId)."'", $this->dbHandle);
  $d_sql=mysql_fetch_array($q_sql);
  $this->sessionVars=unserialize($d_sql["sessionVars"]);
  $this->sessionVars[$key]=$value;
  mysql_query("update ".($this->tableName)." set sessionVars='".(serialize($this->sessionVars))."' where sessionId='".($this->sessionId)."'", $this->dbHandle);
 }

 public function getVar($key) {
  $q_sql=mysql_query("select sessionVars from ".($this->tableName)." where sessionId='".($this->sessionId)."'", $this->dbHandle);
  $d_sql=mysql_fetch_array($q_sql);
  $this->sessionVars=unserialize($d_sql["sessionVars"]);
  if(isset($this->sessionVars[$key])) {
   return $this->sessionVars[$key];
  } else {
   return null;
  }
 }

 public function destroySession() {
  mysql_query("delete from ".($this->tableName)." where sessionId='".($this->sessionId)."'", $this->dbHandle);
  setcookie($this->cookieKey, "", time()-3600, "/");
 }

 public function timeoutSession() {
  mysql_query("delete from ".($this->tableName)." where sessionDate<".(time()-$this->lifeTimeSession), $this->dbHandle);
 }
}

?>


file sqlSintax.txt:

create table if not exists session {
 sessionId varchar(32) primary key,
 sessionVars text,
 sessionDate integer
);
aaa