Ragazzi mi serve aiuto.. ho cercato nelle decine di topic gia' simili, ma non ho trovato la soluzione...
Sto realizzando un carrello in PHP con le sessioni, senza database...
Utilizzo 3 pagine:
-lista-prodotti.php , elenca tutti i prodotti con relativo bottone "aggiungi carrello".
-memorizza.php , si occupa di avviare le sessioni in base al prodotto
-carrello.php, mostra tutto il carrello.
il problema e' che memorizza.php salva correttamente il titolo del libro che ho aggiunto, ma mi mostra infinite x nella pagina...
la paginazione vorrei che fosse cosi:
x Titolo libro, prezzo
x Titolo libro 2, prezzo
x Titolo libro 3, prezzo
Invece mi mostra le x infinite...
I codici che uso sono i seguenti:
lista-prodotti.php
memorizza.phpcodice:<?php session_start(); include('pagine/config.php'); $libri = mysql_query("SELECT * FROM libri"); while ($row = mysql_fetch_array($libri)) { echo "$row[titolo] <form method=\"POST\" action=\"memorizza.php\"> <input type=\"image\" name=\"aggiungi\" src=\"immagini/carrello.gif\" border=\"0\"> <input type=\"text\" name=\"quantita\" maxlength=\"2\" style=\"width:20; text-align:center\"> <input type=\"hidden\" name=\"prezzo\" value=\"$row[prezzo]\"> <input type=\"hidden\" name=\"titolo\" value=\"$row[titolo]\"> <input type=\"hidden\" name=\"autore\" value=\"$row[autore]\"> <input type=\"hidden\" name=\"copertina\" value=\"$row[copertina]\"> </form> "; } ?>
carrello.phpcodice:<?php session_start(); if (ctype_digit($_REQUEST['quantita'])) { $riga = $_SESSION["riga"]; $riga++; $_SESSION["prezzo[$riga]"] = $_REQUEST["prezzo"]; // memorizzo il prezzo nel vettore SESSIONE prezzo $_SESSION["titolo[$riga]"] = $_REQUEST["titolo"]; // memorizzo il titolo nel vettore SESSIONE testomarca $_SESSION["autore[$riga]"] = $_REQUEST["autore"]; // memorizzo autore nel vettore SESSIONE descrizione $_SESSION["copertina[$riga]"] = $_REQUEST["copertina"]; // memorizzo copertina nel vettore SESSIONE descrizione $_SESSION["riga"] = $riga; } header("Location: carrello.php"); ?>
codice:<?php session_start(); $_SESSION["codice[0]"] = "Carrello vuoto!"; if ($_SESSION["riga"] == 0) printf($_SESSION["codice[0]"]); if ($_SESSION["riga"] > 0) { // stampa dei prodotti scelti for ($riga >= 1; $riga <= $_SESSION["riga"]; $riga++) { printf($_SESSION["titolo[$riga]"]);?> x<? printf($_SESSION["quantita[$riga]"]); ?> <? } } ?>

Rispondi quotando