Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di wino_7
    Registrato dal
    Dec 2006
    Messaggi
    537

    $_SESSION['qualcosa'] non disponibile nelle pagine.

    Salve a tutti sto creando un carrello elettronico molto molto rudimentale, ma non mi funziona.
    Vi posto il codice della pagina prodotti.php che contiene un form per ogni prodotto.

    Codice PHP:
    .
    .
    .
    session_start();
    .
    .
    .
    while ( (
    $row = @$result->fetch_assoc()) !== NULL)
      {
        echo 
    "      <div class=\"prodotto\">\n";
        echo 
    "        <h3>" $row['Nome'] . "</h3>\n";
        echo 
    "        <ul>\n";
        echo 
    "[*]<span class=\"strong\">Categoria : </span>" $row['Categoria'] . "\n";
        echo 
    "[*]<span class=\"strong\">Prezzo : </span>" $row['Prezzo'] . " &euro;\n";
        echo 
    "[*]<span class=\"strong\">Peso : </span>" $row['Peso'] . " gr.\n";
        echo 
    "[*]<span class=\"strong\">Descrizione : </span>
    \n" 
    $row['Descrizione'] . "\n";
        echo 
    "[/list]\n";
        echo 
    "        <form action=\"Libs-script-php/addtocart.php\" method=\"post\">\n";
        echo 
    "          [list=1]\n";
        echo 
    "[*]<span class=\"strong\">Quantit&agrave; : </span>\n";
        echo 
    "            <input type=\"text\" name=\"quantita\" id=\"quantita\" size=\"4\" maxlength=\"4\" />\n";
        echo 
    "            <input type=\"hidden\" id=\"idprod\" name=\"idprod\" value=\"" $row['Id'] . "\" />\n";
        echo 
    "            <button type=\"submit\" value=\"Aggiungi al carrello\"></button>\n";
        echo 
    "[/list]\n";
        echo 
    "        </form>";
        echo 
    "        <a href=\"".$row['Url']."\" title=\"".$row['Nome']."\" class=\"virtualbox\">\n<img src=\"" $row['Url_thumbs'] . "\" width=\"150\" height=\"113\" title=\"".$row['Nome']."\" alt=\"".$row['Nome']."\" class=\"prodotto\" />\n</a>\n";
        echo 
    "      </div>\n";
      }

    Al click sul pulsante submit si passa alla pagina addtocart.php che contiene lo script che gestisce il carrello che a sua volta reindirizza alla pagina il-mio-carrello.php che fa visualizzare i prodotti presenti.

    Vi posto il codice della pagina addtocart.php

    Codice PHP:
    <?php
    function addProductToUserCart($in_pid$in_quantita)
    {
        if (isset(
    $_SESSION['cart']))
        {
          
    array_push($carrello$in_pid$in_quantita);
              
    $_SESSION['cart'] = $carrello;
              
        }

        else
        {
          if (!isset(
    $_SESSION['cart']))
              {
                  
    $carrello = array();
                  
    $_SESSION['cart'] = array();
              }
              
          
    array_push($carrello$in_pid$in_quantita);
              
    $_SESSION['cart'] = $carrello;
        }
    }

    if (isset(
    $_POST['quantita']) && isset($_POST['idprod']))
    {
        
    $pid intval($_POST['idprod']);
        
    $quantita intval($_POST['quantita']);
    }
    else
    {
      
    header('Location: ../errore.php');
    }

    addProductToUserCart($pid$quantita);
    header('Location: ../il-mio-carrello.php');
    ?>
    e infine il codice della pagina il-mio-carrello.php (contiene una sola istruzione, ma è quel tanto che basta per farmi capire che non funge).

    Codice PHP:
    <?php
    .
    .
    .
    session_start();
    .
    .
    .
          
    var_export($_SESSION['cart']);

              
    ?>
    I dati di sessione dovrebbero essere disponibili in tutte le pagine in cui la sessione è startata giusto ?

  2. #2

  3. #3
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    E quella variabile $carrello che usi nella prima funzione da dove salterebbe fuori?

  4. #4
    Utente di HTML.it L'avatar di wino_7
    Registrato dal
    Dec 2006
    Messaggi
    537
    Grazie ad entrambi erano i due errori che non facevano funzionare lo script.
    Ho risolto grazie mille.

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.