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

    inserimento di una classe

    ciao a tutti sono sempre io che vi stresso con le mie domande e le mie richieste d'aiuto, vi spiego, io dovrei inserire una classe per salvare le sessioni dentro il database vi mostro la classe :
    Codice PHP:
    class Session
    {
        private static 
    $_sess_db;

        public static function 
    open() {
            
            if (
    self::$_sess_db mysql_connect('localhost','root','maurizio')) {
                return 
    mysql_select_db('supp'self::$_sess_db);
            }
            return 
    false;
        }

        public static function 
    close() {
            return 
    mysql_close(self::$_sess_db);
        }

        public static function 
    read($id) {
            
    $id mysql_real_escape_string($id);
            
    $sql sprintf("SELECT `session_data` FROM `sessions` " .
                           
    "WHERE `session` = '$id'");
            if (
    $result mysql_query($sqlself::$_sess_db)) {
                if (
    mysql_num_rows($result)) {
                    
    $record mysql_fetch_assoc($result);
                    return 
    $record['session_data'];
                }
            }
            return 
    '';
        }
        public static function 
    write($id$data) {
            
    $sql sprintf("REPLACE INTO `sessions` VALUES('$id','".$_SERVER['REMOTE_ADDR']."', '".time()."', '".$_SERVER['HTTP_USER_AGENT']."','$data')");
            return 
    mysql_query($sqlself::$_sess_db)or die(mysql_error());
        }

        public static function 
    destroy($id) {
            
    $sql sprintf("DELETE FROM `sessions` WHERE `session` = '$id'" );
            return 
    mysql_query($sqlself::$_sess_db)or die(mysql_error());
        }

        
    /**
         * Garbage Collector
         * @param int life time (sec.)
         * @return bool
         * @see session.gc_divisor      100
         * @see session.gc_maxlifetime 1440
         * @see session.gc_probability    1
         * @usage execution rate 1/100
         *        (session.gc_probability/session.gc_divisor)
         */
        
    public static function gc($max) {
            
    $sql sprintf("DELETE FROM `sessions` WHERE `lastactivity` < '".time()."'" . - $max);
            return 
    mysql_query($sqlself::$_sess_db)or die(mysql_error());
        }
    }

    ini_set('session.gc_probability'50);
    ini_set('session.save_handler''user');

    session_set_save_handler(array('Session''open'),
                             array(
    'Session''close'),
                             array(
    'Session''read'),
                             array(
    'Session''write'),
                             array(
    'Session''destroy'),
                             array(
    'Session''gc')
                             );

    if (
    session_id() == ""session_start();
    //session_regenerate_id(false); //also works fine
    if (isset($_SESSION['counter'])) {
        
    $_SESSION['counter']++;
    } else {
        
    $_SESSION['counter'] = 1;
    }
    echo 
    '
    SessionID: '
    session_id() .'
    Counter: '
    $_SESSION['counter']; 
    adesso siccome che uso una cnnessione al database con una classe, che per connettermi inserisco
    Codice PHP:
    $dbcore = new DB$dbcore->connect(); 

    io stò provando a sostituire la funzione della classe sarebbe a dire la funzione open
    Codice PHP:
        public static function open() {
            
            if (
    $dbcore->connect()) {
                return return 
    true;
            }
            return 
    false;
        } 
    pero mi da un errore
    codice:
    Fatal error: Call to a member function connect() on a non-object in C:\Programmi\Apache Software Foundation\Apache2.2\htdocs\supp\includes\session.php on line 8
    Non è tanto importante saper fare,quanto ad avere voglia d imparare .

  2. #2
    Utente di HTML.it L'avatar di oronze
    Registrato dal
    Jun 2001
    Messaggi
    3,543
    $dbcore = new DB(); non l'hai inserito nella funzione

    No ai layout tabellari!

    Insulto libero: http://forum.html.it/forum/showthread.php?s=&postid=12524872#post12524872

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    1,805
    grazie mille , sto cercando di fare un unica funzione , usando i parametri della classe, ovvero insieme a l id di sessione , vorrei che salvasse anche l id dell utente e se l utente e loggiato ma ho le idee poco chiare, ansi confusissime
    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.