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

    Sessioni... che mondo strano

    Ciao a tutti
    ho un problema con uno script che fino all'altro giorno ha funzionato:

    ho creato un piccolo .... e-commerce, modulo d'ordini o come lo volete chiamare, basato su sessioni e db.
    In pratica salva su db l'id di sessione e differenzia l'utente in base a questo id.

    Ora, in home page, ho chiesto (per mia comodità) di visualizzare l'attuale SID con il comando
    codice:
     echo session_id();
    poi nella pagina del carrello, chiamavo una classe con questo comando:
    codice:
    $CART= new mck_cart_class(session_id());
    questa chiamata attiva la classe e funzione
    codice:
    class mck_cart_class {
    function mck_cart_class($customer_no =0) {
      $this->error = "";
    	if (!isset($_SESSION['order_id'])) {
    	 $this->mck_get_order($customer_no);
    	 }
     }//mck_cart
    ...
    }
    La funzione mck_get_order controlla sul db se è presente quell'id di sessione e ne estrae i dati, altrimenti crea una nuova riga.

    Ora.

    Fino all'altro giorno, se entravo in homepage non mi visualizzava il SID, ma se aprivo la pagina del carrello e poi tornavo in home page, veniva visualizzato.
    Allo stesso modo, sul DB veniva correttamente creata o utilizzata la riga con l'attuale SID.

    Oggi no.

    Non crea più nessuna sessione.

    Cosa può essere successo?

  2. #2

  3. #3
    dato l'enorme numero di risposte ricevute....
    ieri sera invece di andare a dormire ho iniziato a ragionare e cercare info su particolarità delle sessioni.

    Non avendone trovate, mi sono riguardato con calma lo script e cosa scopro?

    CHe non ho dato il via alla sessione: session_start() non era stato chiamato.

    Risolto questo problema devo ancora capire però perchè se chiedo echo session_id() dopo aver dato il via alla sessione non me lo visualizza mentre se stampo il result della funzione ove chiamo la sessione visualizzo l'id.

    BHO!

  4. #4
    domanda.
    Ma le sessioni non si passano da una pagina all'altra?

    Nel senso. Se io nella index dichiaro un session_start() e subito sotto un echo session_id; vedo a schermo l'id di sessione.

    Se vado nella pagina pippo, sempre sullo stesso server, dovrei avere attiva la stessa sessione giusto? perchè allora se chiedo un session_id() non visualizzo nulla e se prima ci metto un session_start() lo visualizzo? Non era già attiva la sessione?

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.