Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    creare classe per la gestione delle sessioni

    ho trovato questa classe su phpclasses: http://www.phpclasses.org/browse/package/2276.html


    volevo sapere un paio di cose soprattutto sul codice. Tipo nella funzione di inizializzazione della sessione trovo:
    Codice PHP:
    if(!ereg("proxy\.aol\.com$"gethostbyaddr($ip))){//if surfer's ISP is not AOL 

    questo controllo cosa va a verificare? il commento c'è ma non lo capisco...

    poi, queste sono le prime righe della classe:
    Codice PHP:
    class Session{
     
         private 
    $valid false;
        private 
    $error false;
        private 
    $lasterror;
     
         public function 
    __construct(){
            
    session_start();
            
    $this->init_session();
        } 

    il costruttore non dovrebbe avere lo stesso nome della classe?


    poi, se io dichiaro una classe per gestire un carrello, e la dichiaro extends Session, ogni volta che creo un nuovo oggetto carrello:
    $carrello=new Carrello(parametri costruttore);


    mi viene automaticamente istanziato anche l'oggetto Session o no?





    Scusate se sono risultato un po' contorto, ma essendo il mio primo lavoro con le classi sono un po' titubante






    Grazie mille!
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  2. #2
    so che per molti di voi potrebbe non avere senso, ma devo fare esperienza e me la vorrei creare da solo, sto solo prendendo un po' spunto in giro


    quello che ora io ho scritto è SOLO:
    Codice PHP:
    class GestSession{
        
        
    /**
        * costruttore
        * se la sessione non è ancora stata aperta ne creo una nuova
        */
        
    function GestSession(){
            if (
    sizeof($_SESSION)==|| !isset($_SESSION))    session_start();
        }
        
        function 
    setVar$nome$valore$sovrascrivi ){
        }


    ma la prima cosa che mi è venuta spontanea è una domanda: se la variabile di sessione fosse a sua volta un array...come faccio a specificarlo? tipo nel caso del carrello. io avrei n array che avranno come nome l'id del prodotto...quindi:

    $_SESSION[1][code]='12345';
    $_SESSION[1][nome]='ciccio';
    $_SESSION[1][qta]=7;



    avete qualche idea?
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  3. #3
    nessuno riesce a darmi una mano?


    non so più dove sbattere la testa! sto guardando in continuazione esempi su esempi, ho letto le guide di freephp e altre, ma non ho capito come implementarlo
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  4. #4
    up
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  5. #5
    ok la classe per gestirmi anche gli array in sessione l'ho fatta, ho fatto un paio di prove e sembra funzionare a dovere.

    Il dubbio che invece mi è sorto ora è questo: è meglio lasciare che la classe riesca a gestire l'array oppure è meglio serializzare l'array e passare anche un flag, ad esempio $arr=true che mi dice di stare attento e deserializzare l'array in fase di recupero?

    perché ok, la classe che ho fatto mi gestisce al massimo un array del genere: $_SESSION['carrello']['idprodotto']['campo'] più al di là non penso proprio di dover andare, anche per applicazioni future. Ma tornando alla domanda, è meglio portarsi dietro l'array così com'è o rischio di perdere qualcosa? e serializzarlo e deserializzarlo ogni volta non mi comporta altre perdite di dati?
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  6. #6
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    partendo dall'inizio perchè ho visto solo adesso l adiscussione.

    Il primo controllo (non so per quale motivo) verifica che l'utente arrivi da AOL come ISP. non ne capisco l'utilità, ma visto che chiedevi...

    In php4 il costruttore deve avere lo stesso nome della classe. Vale anche in php5 per retrocompatibilità, ma il metodo ufficiale ora si chiama __construct.

    Per il discorso della serializzazione invece non ho capito, tu metti questo oggetto in sessione?
    o semplicemente lo dichiari ogni volta?

    Non credo che l'array $_SESSION abbia bisogno di essere serializzato, e gli oggetti in sessioni vengono serializzati e deserializzati in modo automatico e trasparente...

    Spero di non aver detto troppe baggianate

  7. #7
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    Originariamente inviato da 13manuel84

    ma la prima cosa che mi è venuta spontanea è una domanda: se la variabile di sessione fosse a sua volta un array...come faccio a specificarlo?
    avete qualche idea?
    dici cosi:

    codice:
    foreach($_SESSION as $var) {
    
    if (is_array($var)) {
    // blablabla
    }
    }

  8. #8
    grazie molte per le risposte.

    quado dico che la variabile di sessione potrebbe essere a sua volta un array intendo proprio così:
    codice:
    Array
    (
        [1] => Array
            (
                [quantita] => 75
            )
    
        [2] => Array
            (
                [quantita] => 74
                [codice] => a74gh8
            )
    
        [username] => pippo
    )
    quindi io ho $_SESSION[1] e $_SESSION[2] che sono a loro volta array. Quello che intendevo io era se è meglio portarsi dietro la struttura così com'è ( che è quello che preferirei, visto che l'ho fatto così al momento ) oppure se mi conviene serializzare $_SESSION[1] e $_SESSION[2] in modo da non avere array di array



    spero di essermi spiegato un attimino meglio, sorry se non sono molto chiaro ma questo tipo di programmazione è la prima volta che mi appresto ad affrontarla e non vorrei aver confusione in testa.





    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  9. #9
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    Originariamente inviato da 13manuel84
    grazie molte per le risposte.

    quado dico che la variabile di sessione potrebbe essere a sua volta un array intendo proprio così:
    codice:
    Array
    (
        [1] => Array
            (
                [quantita] => 75
            )
    
        [2] => Array
            (
                [quantita] => 74
                [codice] => a74gh8
            )
    
        [username] => pippo
    )
    quindi io ho $_SESSION[1] e $_SESSION[2] che sono a loro volta array. Quello che intendevo io era se è meglio portarsi dietro la struttura così com'è ( che è quello che preferirei, visto che l'ho fatto così al momento ) oppure se mi conviene serializzare $_SESSION[1] e $_SESSION[2] in modo da non avere array di array



    spero di essermi spiegato un attimino meglio, sorry se non sono molto chiaro ma questo tipo di programmazione è la prima volta che mi appresto ad affrontarla e non vorrei aver confusione in testa.





    Da che uso le sessioni non mi sono mai posto un problema del genere, e non ho mai riscontrato problemi.
    Anche perchè se tu guardi all'interno della directory del save_path (e se usi come save_handler il file) vedrai che il file che memorizza la sessione al suo interno avrà la variabile $_SESSION già serializzata, con tutto il suo contenuto...
    Credo che sia un'operazione inutile, salvo poi essere smentito da qualcuno che ne sa di +.

    ciao

  10. #10
    Originariamente inviato da gianiaz
    Da che uso le sessioni non mi sono mai posto un problema del genere, e non ho mai riscontrato problemi.
    Anche perchè se tu guardi all'interno della directory del save_path (e se usi come save_handler il file) vedrai che il file che memorizza la sessione al suo interno avrà la variabile $_SESSION già serializzata, con tutto il suo contenuto...
    Credo che sia un'operazione inutile, salvo poi essere smentito da qualcuno che ne sa di +.

    ciao
    a dire il vero non me lo sono mai posto nemmeno io, ma mi è venuto spontaneo chiederlo in questo caso...forse è questa programmazione OO che mi sta mandando in palla e mi perdo in un bicchier d'acqua


    grazie dei chiarimenti. Ciauz!!


    [OT]
    p.s. ma la grafica su FF quando la sistemano? è in programma almeno? ogni volta che si quota del codice mi sbiella tutto...[/OT]
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

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.