Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    1,317

    Dopo session_start() mi interrompe lo script

    Utilizzo una mia classe personalizzata per gestire le sessioni nel database

    # session.php
    Codice PHP:
    class Session {
        var 
    $database;
        
        function 
    Session($database) {        
            
    $this->database = & $database;
            
            
    session_set_save_handler(array($this'open'),
                                     array(
    $this'close'),
                                     array(
    $this'read'),
                                     array(
    $this'write'),
                                     array(
    $this'destroy'),
                                     array(
    $this'gc'));
                                     
            
    $this->startSession();
        }

        function 
    startSession() {
            @
    session_start();
        }
        
        function 
    deleteSession() {
            @
    session_destroy();
        }
        
        function 
    open($sessPath$sessName) {
            return 
    true;
        }

        function 
    close() {
            return 
    true;
        }

        function 
    read($sessId) {
            
    $query $this->database->mysqlQuery('readSession', array($sessId), 1);
            if (
    $this->database->mysqlNumRows()) {
                
    $dataSession $this->database->mysqlFetchAssoc();
                return 
    $dataSession['sessData'];
            }
        }

        function 
    write($sessId$sessData) {
            
    $query $this->database->mysqlQuery('writeSession', array($sessId$sessDatatime()));
        }

        function 
    destroy($sessId) {
            
    $query $this->database->mysqlQuery('destroySession', array($sessId));
        }

        function 
    gc($sessMaxLifeTime) {
            
    $query $this->database->mysqlQuery('deleteSessions', array((time() - SESSION_TIME)));
        }
    }

    ?> 
    # index.php
    Codice PHP:
    <?php

    error_reporting
    (E_ALL);

    class 
    Core {
        function 
    Core() {
            
    $this->initDatabase();
            
    $this->initSession();
         }

    function 
    initDatabase() {
     
    /*****/
    }

        function 
    initSession() {
                    @
    ob_start();
            require_once(
    PATH.'includes/server.php');
            require_once(
    PATH.'includes/session.php');
            
    $this->session = new Session($this->database);
                    echo 
    1;        
        }
    }

    non stampa echo 1 dopo aver inizializzato la sessione

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    636
    il comando session_start() deve essere la prima riga di codice di una pagina

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.