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

    variabile di sessione che sparisce

    salve a tutti...
    sto provando a gestire un carrello mediante le sessioni ma succede una cosa alquanto strana. mi spiego: all'inizio della pagina inserisco il codice per dar il via alla sessione, questo codice lo chiamo mediante una funzione.
    Codice PHP:
    function start_chart(){
      
    session_start();// inizializzo la sessione

      
    if(isset($_SESSION['chart'][0]['id']))       $_SESSION['chart'][0]['id'];
      if(isset(
    $_SESSION['chart'][0]['codice']))   $_SESSION['chart'][0]['codice'];
      if(isset(
    $_SESSION['chart'][0]['nome']))     $_SESSION['chart'][0]['nome'];
      if(isset(
    $_SESSION['chart'][0]['taglia']))   $_SESSION['chart'][0]['taglia'];
      if(isset(
    $_SESSION['chart'][0]['colore']))   $_SESSION['chart'][0]['colore'];
      if(isset(
    $_SESSION['chart'][0]['prezzou']))  $_SESSION['chart'][0]['prezzou'];
      if(isset(
    $_SESSION['chart'][0]['qta']))      $_SESSION['chart'][0]['qta'];
      if(isset(
    $_SESSION['chart'][0]['taglia']))   $_SESSION['chart'][0]['taglia'];

    poi all'interno dell'html chiamo una funzione che mi dovrebbe dire quanti e quali elemnti sono presenti nel carrelo, nel caso sia vuoto ovviamente deve scrivere che non ci sono elementi. la funzione è questa
    Codice PHP:
    function gest_carrello()
    {
      global 
    $_CONFIG;
      global 
    $_IMAGE;
      global 
    $_GET

      print(
    "<div class=\"blocchi-info\">");
      print(
    "<h3>Il Mio Carrello</h3>");

      ----->
    if(count($_SESSION['chart']) == 0)  
      {
        print(
    "

    0 prodotti... Carrello vuoto!</p>"
    );
      }
      else
      {
        
    // ancora non ci ho scritto niente
      
    }
      print(
    "</div>");

    quando vado a visualizzare la pagina mi si presenta questo errore:
    Notice: Undefined index: chart in C:\Programmi\PAMPA-0.6\PAMPA\apache\htdocs\001\include\php\home.gestc arrello.php on line 28
    dove alla riga 28 è presente la riga che vi ho messo la freccia

    perchè succede questo?? non capisco

    help me!!
    grazie

    Marco
    warcomeb - IL LEADER O.O.O.

  2. #2
    hmm. mi non sono recevendo la stessa problema. si definito i variabli ($_SESSION) e la pagina ritorna:
    codice:
    Il Mio Carello
    (questo è blank perchè non hai scritto niente qui ancora)
    se non si definito la pagina ritorna:
    codice:
    Il Mio Carello
    0 prodotti... Carrello vuoto!
    ovvisimente (no definizione per i variabli $_SESSION)

    il mio codice segua:
    Codice PHP:
    <?php
    /**
     * i tui functioni
     *
     * non nei commenti
     *
     */
    start_chart();
    gest_carrello();
    Ciao,
    Dennis M.
    Nuovo Blog di Programmazione! (Lo ha i tutti tipi! PHP e C/C++)
    Per piacere lo supporti!

  3. #3
    Perdonami DennisM, ma non sono riuscito a capire cosa mi vuoi dire!

    qualcuno ha idee???

    grazie

    Marco
    warcomeb - IL LEADER O.O.O.

  4. #4
    Ciao,
    io consiglio sempre di mettere session_start(); come prima istruzione della pagina evitando di metterla all'interno di altre funzioni o file da includere.

    Poi non mi è molto chiaro cosa intendevi fare con la funzione start_chart()
    in particolare con i vari if presenti.
    Se la variabile $_SESSION['chart'] non già è inizializzata, ancor meno viene inizializzata in quella funzione e giustamente ti genera quell'errore.
    Non è che volevi mettere !isset(...) ?

    Alessandro
    Full Stack Developer presso Advice Lab
    Bonus Bitcoin
    Moon Bitcoin

  5. #5
    credo proprio che tu abbia ragione... che sbadato e addormentato!!

    con quella funzione volevo dare la "struttura" al carrello... per poi inserire gli elementi dopo senza più pensarci! secondo te non serve inizializzare la struttura??

    dopo, quando prendo l'altro pc, provo e ti faccio sapere!!

    intanto grazie

    Marco
    warcomeb - IL LEADER O.O.O.

  6. #6
    uffi... ho messo session_start() all'inizio della pagina e fuori da ogni funzione, ho corretto l'istruzione di controllo nell'if ma le cose sono peggiorate:

    codice:
    Notice: Undefined index: chart in C:\Programmi\PAMPA-0.6\PAMPA\apache\htdocs\001\include\php\home.gestcarrello.php on line 43
    
    Notice: Undefined index: chart in C:\Programmi\PAMPA-0.6\PAMPA\apache\htdocs\001\include\php\home.gestcarrello.php on line 44
    
    Notice: Undefined index: chart in C:\Programmi\PAMPA-0.6\PAMPA\apache\htdocs\001\include\php\home.gestcarrello.php on line 45
    
    Notice: Undefined index: chart in C:\Programmi\PAMPA-0.6\PAMPA\apache\htdocs\001\include\php\home.gestcarrello.php on line 46
    
    Notice: Undefined index: chart in C:\Programmi\PAMPA-0.6\PAMPA\apache\htdocs\001\include\php\home.gestcarrello.php on line 47
    
    Notice: Undefined index: chart in C:\Programmi\PAMPA-0.6\PAMPA\apache\htdocs\001\include\php\home.gestcarrello.php on line 48
    
    Notice: Undefined index: chart in C:\Programmi\PAMPA-0.6\PAMPA\apache\htdocs\001\include\php\home.gestcarrello.php on line 49
    
    Notice: Undefined index: chart in C:\Programmi\PAMPA-0.6\PAMPA\apache\htdocs\001\include\php\home.gestcarrello.php on line 50
    e si riferiscono alle righe in cui ho messo tutti gli if...

    ma perchè??

    grazie

    Marco
    warcomeb - IL LEADER O.O.O.

  7. #7
    Codice PHP:
     function start_chart() { 
        if(!isset(
    $_SESSION['chart']))  $_SESSION['chart']=array();

    Ma non comprendo a cosa ti possa servire...
    Non fai prima a sostituire:
    Codice PHP:
    if(count($_SESSION['chart']) == 0)   
      { 
        print(
    "

    0 prodotti... Carrello vuoto!</p>"
    ); 
      } 
    con
    Codice PHP:
    if(!isset($_SESSION['chart']))   
      { 
        print(
    "

    0 prodotti... Carrello vuoto!</p>"
    ); 
      } 
    Full Stack Developer presso Advice Lab
    Bonus Bitcoin
    Moon Bitcoin

  8. #8
    hai ragione, ho fatto così!!

    perdonami, ma ogni tanto mi si incastra il cervello...

    ciao ciao
    grazie

    Marco
    warcomeb - IL LEADER O.O.O.

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.