- Home
- Categorie
- Coding e Sistemistica
- Coding
- problemi carrello php
-
problemi carrello php
Ciao a tutti ho un problema semplice semplice al quale però non riesco a trovare soluzione...
sto realizzando un sito e-commerce con php e mysql..
Per la gestione del carrello ho preferito non appoggiarmi al db e mantenere tutti i dati in un vettore in sessione...
Il mio problema è questo:
per inserire l'articolo del carrello utilizzo il solito pulsante con associata una variabile GET per l'id del prodotto. L'inserimento avviene correttamente, ma durante la navigazione successiva se si naviga utilizzando le frecce del browser (avanti,indietro) c'è il rischio che si richiami la pagina del carrello e che gli vengano ripassati i parametri dell'acquisto (che rimangono in cache)...
insomma se acquisto un prodotto e poi cambio pagina se faccio "indietro" lo riacquisto...Qualcuno sa come aiutarmi? come posso gestire le variabili $_GET in modo che nin vengano rimandati i dati se non quando è l'utente a cliccare sul link?
Spero di essere stato chiaro un grazie anticipato
-
Ciao edo81 e benvenuto
un buon modo per risolvere il tuo problema è quello di usare una pagina "di appoggio". Mi spiego meglio: quando clicchi su "aggiungi al carrello" passi il get a una pagina che non visualizza niente ma inserisci l'id nella variabile di sessione (cioè di fatto nel carrello), poi fai un redirect (header("Location: dest")) a una pagina che visualizza il carrello.
In questo modo se dopo cambi pagina e fai "indietro" torni alla pagina di visualizzazione del carrello e non a quella di inserimentoPrecesiso che anche se torni a fare indietro una seconda volta torni alla pagina del prodotto e non a quella dell'inserimento quindi continua a funzionare.
-
ti ringrazio per la risposta... provo e poi ti dico se è tutto ok.
Avevo già provato a creare una pagina di appoggio, ma facendo "indietro" dalla pagina del carrello si rieffettuava la transazione, però utilizzavo una window.open per caricare la pagina
-
ok funziona perfettamente grazie ancora
-
figurati,
ciao
-
@riky78 said:
Ciao edo81 e benvenuto
un buon modo per risolvere il tuo problema è quello di usare una pagina "di appoggio". Mi spiego meglio: quando clicchi su "aggiungi al carrello" passi il get a una pagina che non visualizza niente ma inserisci l'id nella variabile di sessione (cioè di fatto nel carrello), poi fai un redirect (header("Location: dest")) a una pagina che visualizza il carrello.
invece è possibile un redirect alla pagina da cui si era partiti, invece che la pagina dei risultati del carrello?
-
Sì.
Metti:
header("Location: pagina_di_partenza");
-
ciao, io sto iniziando ora con php, sto usando il carrello fornito con paypal, ma vorrei averne uno completamente gestito da me in php... non so quasi nulla, quindi stò cercando qualcuno tanto gentile da passarmi un micro sito di esempio funzionante, da analizzare passo passo nel codice, con tutte le pagine grazie se c'é qualcuno così gentile.. [EMAIL="[email protected]"][email protected][/EMAIL]
-
Ciao Rix86,
ho spostato i messaggi di risposta alla tua domanda in un nuovo thread nella sezione Cms World GT
ora puoi continuare qui
ciao!
-
@lilo said:
invece è possibile un redirect alla pagina da cui si era partiti, invece che la pagina dei risultati del carrello?
anche se è passato molto tempo posto una soluzione che mi sembra migliore per questo problema aoprattutto per i posteri....header("location:".$_SERVER['HTTP_REFERER']);
così da qualunque pagina venga attivato il link compra si viene rimandati indietro..