Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    1,801

    classe per le sessioni che da errore

    salve ragazzi , vi sto semre a stressare con le sessioni, adesso ho trovato una classe, che se la includo mi da un errore posto l errore e la classe
    Parse error: syntax error, unexpected T_OBJECT_OPERATOR, expecting ',' or ';' in C:\Programmi\Apache Software Foundation\Apache2.2\htdocs\supp\include\session.p hp on line 13
    e questa e la classe
    Codice PHP:

    if(!file_exists("../config/config.php")){
        die(
    "<div>il files config.php non e presente");
      }else{
      require_once(
    "../config/config.php");
    }

    class 
    session 
        
    // session-lifetime 
        
    var $lifeTime
        
    // mysql-handle 
        
    var $DB->connect();
        function 
    open($savePath$sessName) { 
           
    // get session-lifetime 
           
    $this->lifeTime get_cfg_var("session.gc_maxlifetime"); 
           
    // open database-connection 
        
    function close() { 
            
    $this->gc(ini_get('session.gc_maxlifetime')); 
            
    // close database-connection 
            
    return @mysql_close($DB->connect()); 
        } 
        function 
    read($sessID) { 
            
    // fetch session-data 
            
    $res mysql_query("SELECT session_data AS d FROM ws_sessions 
                                WHERE session_id = '
    $sessID
                                AND session_expires > "
    .time(),$DB->connect();
            
    // return data or an empty string at failure 
            
    if($row mysql_fetch_assoc($res)) 
                return 
    $row['d']; 
            return 
    ""
        } 
        function 
    write($sessID,$sessData) { 
            
    // new session-expire-time 
            
    $newExp time() + $this->lifeTime
            
    // is a session with this id in the database? 
            
    $res mysql_query("SELECT * FROM ws_sessions 
                                WHERE session_id = '
    $sessID'",$DB->connect();
            
    // if yes, 
            
    if(mysql_num_rows($res)) { 
                
    // ...update session-data 
                
    mysql_query("UPDATE ws_sessions 
                             SET session_expires = '
    $newExp', 
                             session_data = '
    $sessData
                             WHERE session_id = '
    $sessID'",$DB->connect();
                
    // if something happened, return true 
                
    if(mysql_affected_rows($DB->connect()) 
                    return 
    true
            } 
            
    // if no session-data was found, 
            
    else { 
                
    // create a new row 
                
    mysql_query("INSERT INTO ws_sessions ( 
                             session_id, 
                             session_expires, 
                             session_data) 
                             VALUES( 
                             '
    $sessID', 
                             '
    $newExp', 
                             '
    $sessData')",$DB->connect();
                
    // if row was created, return true 
                
    if(mysql_affected_rows($DB->connect()) 
                    return 
    true
            } 
            
    // an unknown error occured 
            
    return false
        } 
        function 
    destroy($sessID) { 
            
    // delete session-data 
            
    mysql_query("DELETE FROM ws_sessions WHERE session_id = '$sessID'",$DB->connect();
            
    // if session was deleted, return true, 
            
    if(mysql_affected_rows($DB->connect()) 
                return 
    true
            
    // ...else return false 
            
    return false
        } 
        function 
    gc($sessMaxLifeTime) { 
            
    // delete old sessions 
            
    mysql_query("DELETE FROM ws_sessions WHERE session_expires < ".time(),$DB->connect();
            
    // return affected rows 
            
    return mysql_affected_rows($DB->connect()); 
        } 

    $session = new session(); 
    session_set_save_handler(array(&$session,"open"), 
                             array(&
    $session,"close"), 
                             array(&
    $session,"read"), 
                             array(&
    $session,"write"), 
                             array(&
    $session,"destroy"), 
                             array(&
    $session,"gc")); 
    session_start(); 
    // etc... 
    questa era l originale

    Codice PHP:

    class session 
        
    // session-lifetime 
        
    var $lifeTime
        
    // mysql-handle 
        
    var $dbHandle
        function 
    open($savePath$sessName) { 
           
    // get session-lifetime 
           
    $this->lifeTime get_cfg_var("session.gc_maxlifetime"); 
           
    // open database-connection 
           
    $dbHandle = @mysql_connect("server","user","password"); 
           
    $dbSel = @mysql_select_db("database",$dbHandle); 
           
    // return success 
           
    if(!$dbHandle || !$dbSel
               return 
    false
           
    $this->dbHandle $dbHandle
           return 
    true
        } 
        function 
    close() { 
            
    $this->gc(ini_get('session.gc_maxlifetime')); 
            
    // close database-connection 
            
    return @mysql_close($this->dbHandle); 
        } 
        function 
    read($sessID) { 
            
    // fetch session-data 
            
    $res mysql_query("SELECT session_data AS d FROM ws_sessions 
                                WHERE session_id = '
    $sessID
                                AND session_expires > "
    .time(),$this->dbHandle); 
            
    // return data or an empty string at failure 
            
    if($row mysql_fetch_assoc($res)) 
                return 
    $row['d']; 
            return 
    ""
        } 
        function 
    write($sessID,$sessData) { 
            
    // new session-expire-time 
            
    $newExp time() + $this->lifeTime
            
    // is a session with this id in the database? 
            
    $res mysql_query("SELECT * FROM ws_sessions 
                                WHERE session_id = '
    $sessID'",$this->dbHandle); 
            
    // if yes, 
            
    if(mysql_num_rows($res)) { 
                
    // ...update session-data 
                
    mysql_query("UPDATE ws_sessions 
                             SET session_expires = '
    $newExp', 
                             session_data = '
    $sessData
                             WHERE session_id = '
    $sessID'",$this->dbHandle); 
                
    // if something happened, return true 
                
    if(mysql_affected_rows($this->dbHandle)) 
                    return 
    true
            } 
            
    // if no session-data was found, 
            
    else { 
                
    // create a new row 
                
    mysql_query("INSERT INTO ws_sessions ( 
                             session_id, 
                             session_expires, 
                             session_data) 
                             VALUES( 
                             '
    $sessID', 
                             '
    $newExp', 
                             '
    $sessData')",$this->dbHandle); 
                
    // if row was created, return true 
                
    if(mysql_affected_rows($this->dbHandle)) 
                    return 
    true
            } 
            
    // an unknown error occured 
            
    return false
        } 
        function 
    destroy($sessID) { 
            
    // delete session-data 
            
    mysql_query("DELETE FROM ws_sessions WHERE session_id = '$sessID'",$this->dbHandle); 
            
    // if session was deleted, return true, 
            
    if(mysql_affected_rows($this->dbHandle)) 
                return 
    true
            
    // ...else return false 
            
    return false
        } 
        function 
    gc($sessMaxLifeTime) { 
            
    // delete old sessions 
            
    mysql_query("DELETE FROM ws_sessions WHERE session_expires < ".time(),$this->dbHandle); 
            
    // return affected rows 
            
    return mysql_affected_rows($this->dbHandle); 
        } 

    $session = new session(); 
    session_set_save_handler(array(&$session,"open"), 
                             array(&
    $session,"close"), 
                             array(&
    $session,"read"), 
                             array(&
    $session,"write"), 
                             array(&
    $session,"destroy"), 
                             array(&
    $session,"gc")); 
    session_start(); 
    // etc... 
    PERCHE SECONDO VOI DA L ERRORE?
    Non è tanto importante saper fare,quanto ad avere voglia d imparare .

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    1,801
    E QUESTO E IL CONFIG.PHP
    Codice PHP:
    class DB{
    var 
    $db_host ='localhost';
    var 
    $db_user ='root';
    var 
    $db_pass ='maurizio';
    var 
    $db_name ='supp';


    var 
    $SMARTY_LIBRARY ='';



        
    //PHP5 Constructor
        
    function __construct() {
            global 
    $db_host,$db_user,$db_pass,$db_name;
                
            
    $this->host $db_host;
            
    $this->user $db_user;
            
    $this->pass $db_pass;
            
    $this->name $db_name;
        }
        
    //PHP4 Constructor
        
    function database() {
            global 
    $db_host,$db_user,$db_pass,$db_name;
            
            
    $this->host $db_host;
            
    $this->user $db_user;
            
    $this->pass $db_pass;
            
    $this->name $db_name;
        }

     function 
    connect()
     {
       @
    mysql_connect($this->db_host,$this->db_user,$this->db_pass)or die("non riesco a connettermi".mysql_error());
      @
    mysql_select_db($this->db_name)or die("non riesco selezionare il database");
     }

     function 
    disconnect()
     {
      if( !
    mysql_close()){
      die(
    "Could not close DB");
      }
     }

    Non è tanto importante saper fare,quanto ad avere voglia d imparare .

  3. #3
    Questo viola la sintasi del PHP...
    Codice PHP:
    var $DB->connect(); 

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    1,801
    ciao filippo e grazie per aver risposto, e come dovrei fare ?per sistemare la classe?
    Non è tanto importante saper fare,quanto ad avere voglia d imparare .

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    1,801
    ora la classe funziona, pero non capisco come inserire i valori dovrebbe inserirli automaticamente in teoria
    Non è tanto importante saper fare,quanto ad avere voglia d imparare .

  6. #6
    occhio anche al metodo open, non chiude la }
    PHP LEARN - Guide, tutorial e articoli sempre aggiornati
    NUOVO: standardLib; il potente framework PHP é ora disponibile
    *******************************************
    Scarica oggi la tua copia di MtxEventManager

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    1,801
    ciao e come posso risolvere questo problema
    Non è tanto importante saper fare,quanto ad avere voglia d imparare .

  8. #8
    chiudendo la parentesi alla fine del metodo

    function open($savePath, $sessName) {
    // get session-lifetime
    $this->lifeTime = get_cfg_var("session.gc_maxlifetime");
    // open database-connection
    }
    PHP LEARN - Guide, tutorial e articoli sempre aggiornati
    NUOVO: standardLib; il potente framework PHP é ora disponibile
    *******************************************
    Scarica oggi la tua copia di MtxEventManager

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    1,801
    grazie per l ' osservazione ,ora ho fatto cosi,
    Codice PHP:

        
    function open($savePath$sessName) { 
           
    // get session-lifetime 
           
    $this->lifeTime get_cfg_var("session.gc_maxlifetime"); 
           
    // open database-connection 
           
    $dbHandle = @mysql_connect($db_host,$db_user,$db_pass); 
           
    $dbSel = @mysql_select_db($db_name,$dbHandle); 
           
           
    // return success 
           
    if(!$dbHandle || !$dbSel
               return 
    false
           
    $this->dbHandle $dbHandle
           return 
    true
        } 
        } 
    ma dove bisognia includere la classe?
    Non è tanto importante saper fare,quanto ad avere voglia d imparare .

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.