HTML.it è il sito italiano del web publishing

Problema gestione variabili



scegli un altro forum
    Indietro   Ricarica   Avanti Invia una risposta

Autore
Discussione     
navajo75
Utente di HTML.it



Registrato il: Dec 2009

Provenienza:

Messaggi: 117


ICQ:

MSN:

Skype:


Problema gestione variabili
Ciao a tutti,

sto creando una pagina (atti.php) in cui do la possibilità agli utenti di scegliere un prodotto e di personalizzando scrivendo il nome, il cognome ecc...
Il form presente in questa pagina, manda ad un'altra (riepilogo.php), in cui mi preoccupo di far vedere le scelte fatte ed anche d'inserire il prodotto in un carrello.
Supponiamo che un utente scelga più di un prodotto, questi vanno a finire nel carrello.
Quando poi avvio la procedura di checkout, se ad esempio mi porto dietro il nome inserito nella pagina atti.php, perchè magari voglio inserirlo nel mio db, chiaramente recupero solo il nome relativo all'ultimo prodotto inserito nel carrello.
Come posso fare per creare uno o più array che memorizzino tutte le scelte fatte dall'utente?

Spero di essere riuscito a spiegarmi. In caso contrario ditemelo, che magari posto un pò di codice.

Grazie

Segnala ad un moderatore | IP: Collegato | Permalink

navajo75 è offline Old Post 20-03-2012 18:53
Clicca qui per vedere il profilo dell'utente navajo75 Clicca qui per inviare all'utente navajo75 un messaggio privato Visualizza ulteriori messaggi scritti dall'utente navajo75 Aggiungi l'utente navajo75 alla tua lista degli utenti amici Modifica / Cancella il messaggio Rispondi quotando   Torna su
eiyen
Utente di HTML.it



Registrato il: Apr 2004

Provenienza:

Messaggi: 3709


ICQ :

MSN :

Skype :


Io non ho ben capito... più che codice magari rispiega il "flusso"... mi pare solo di intuire che ci sono più scelte di cui vorresti "tener traccia", ma in questo caso basta usare della var. di sessione o dei cookie

Segnala ad un moderatore | IP: Collegato | Permalink

eiyen è offline Old Post 20-03-2012 20:40
Clicca qui per vedere il profilo dell'utente eiyen Clicca qui per inviare all'utente eiyen un messaggio privato Visualizza ulteriori messaggi scritti dall'utente eiyen Aggiungi l'utente eiyen alla tua lista degli utenti amici Modifica / Cancella il messaggio Rispondi quotando   Torna su
navajo75
Utente di HTML.it



Registrato il: Dec 2009

Provenienza:

Messaggi: 117


ICQ :

MSN :

Skype :


Ok rispiego.

atti.php è una pagina in cui un utente può scegliere una cartellina e personalizzarla con un'intestazione, colore, scegliere la quantità ecc...
Queste informazioni vengono inserite in un form, la cui action manda a riepilogo.php; qui si possono vedere le scelte fatte e mettere il prodotto in un carrello.
Quindi io da atti recupero tutte le variabili che mi interessano. Però questo discorso vale se la persona sceglie un solo prodotto.
Supponendo invece che ne scelga più di uno, posso recuperare solo le informazioni dell'ultimo messo nel carrello. Come faccio allora a recuperare le info di tutti i prodotti messi nel carrello?

Segnala ad un moderatore | IP: Collegato | Permalink

navajo75 è offline Old Post 21-03-2012 07:08
Clicca qui per vedere il profilo dell'utente navajo75 Clicca qui per inviare all'utente navajo75 un messaggio privato Visualizza ulteriori messaggi scritti dall'utente navajo75 Aggiungi l'utente navajo75 alla tua lista degli utenti amici Modifica / Cancella il messaggio Rispondi quotando   Torna su
eiyen
Utente di HTML.it



Registrato il: Apr 2004

Provenienza:

Messaggi: 3709


ICQ :

MSN :

Skype :


devi tenerne traccia come dicevo: o cookie o sessioni... un modo semplice sono le sessioni... aggiungi session_start(); in cima a tutti i tuoi script e poi quando "registri" un prodotto metti tutti i suoi dati in un vettore (se non è già così), p.es. $prodotto e quindi memorizzi tutto nelle sessioni così:

in cima a tutti gli script coinvolti:
codice PHP:

session_start
();


dopo che definisci tutti i dati di un prodotto...
codice PHP:

...
if (!isset(
$_SESSION['prodotti'])) $_SESSION['prodotti'] = array();
$prodotti $_SESSION['prodotti'];
...
$prodotto = array('id' => ..., 'descrizione' => ...);
...
$prodotti[] = $prodotto;
...


in coda a tutti gli script coinvolti:
codice PHP:

$_SESSION
['prodotti'] = $prodotti;


Nel "carrello" scorri il vettore $prodotti.
Eventualmente puoi registrare i prodotti indicizzandoli con il loro id per evitare "doppioni" se potessero capitare...

Segnala ad un moderatore | IP: Collegato | Permalink

eiyen è offline Old Post 21-03-2012 07:13
Clicca qui per vedere il profilo dell'utente eiyen Clicca qui per inviare all'utente eiyen un messaggio privato Visualizza ulteriori messaggi scritti dall'utente eiyen Aggiungi l'utente eiyen alla tua lista degli utenti amici Modifica / Cancella il messaggio Rispondi quotando   Torna su
navajo75
Utente di HTML.it



Registrato il: Dec 2009

Provenienza:

Messaggi: 117


ICQ :

MSN :

Skype :


Ti chiedo una gentilezza, poichè sono abbastanza scarso con il PHP.
Potresti indicarmi da quale pagina devo cominciare a mettere il tuo script e farmi un esempio di cosa va dopo

$prodotto = array('id' =>

al posto dei puntini?

Grazie per la pazienza

Segnala ad un moderatore | IP: Collegato | Permalink

navajo75 è offline Old Post 21-03-2012 08:45
Clicca qui per vedere il profilo dell'utente navajo75 Clicca qui per inviare all'utente navajo75 un messaggio privato Visualizza ulteriori messaggi scritti dall'utente navajo75 Aggiungi l'utente navajo75 alla tua lista degli utenti amici Modifica / Cancella il messaggio Rispondi quotando   Torna su
eiyen
Utente di HTML.it



Registrato il: Apr 2004

Provenienza:

Messaggi: 3709


ICQ :

MSN :

Skype :


- il primo blocco (session_start) in cima a tutti gli script
- il secondo dove gestisci i dati del form dopo l'invio... praticamente ogni voce è un campo del form da salvare, quindi potresti avere 'id' => $_POST['id'] e così via (non so che campi ci siano)
- il terzo PRIMA di mostrare il "carrello" per recuperare tutti i "prodotti" e poi mostrarli

Segnala ad un moderatore | IP: Collegato | Permalink

eiyen è offline Old Post 21-03-2012 10:43
Clicca qui per vedere il profilo dell'utente eiyen Clicca qui per inviare all'utente eiyen un messaggio privato Visualizza ulteriori messaggi scritti dall'utente eiyen Aggiungi l'utente eiyen alla tua lista degli utenti amici Modifica / Cancella il messaggio Rispondi quotando   Torna su
navajo75
Utente di HTML.it



Registrato il: Dec 2009

Provenienza:

Messaggi: 117


ICQ :

MSN :

Skype :


Ho fatto quello che mi hai suggerito e poi ho provato a scorrere l'array con un ciclo while, ma ci deve essere qualcosa che sbaglio, poicè mi va in loop.

Questo è ciò che ho scritto nella pagina riepilogo.php (dove inizio a recuperare le variabili)

codice PHP:

if (!isset($_SESSION['prodotti'])) 
  
$_SESSION['prodotti'] = array();   
  
$prodotti $_SESSION['prodotti'];   
  
$prodotto = array('colorecarta' => $_POST['colorecarta'], 'titolo' => $_POST['titolo']);         $prodotti[] = $prodotto;    $_SESSION['prodotti'] = $prodotti;


E questa è una funzione con il while

codice PHP:

function mostraProdotti() {   
  
$_SESSION['prodotti'] = $prodotti;   
  while (
$prodotto != "") {     
    
$colorecarta $prodotto['colorecarta'];     
    echo 
'<input type="text" name="colorecarta" size="8" value="'.$colorecarta.'"/>';   
  } 
}

Segnala ad un moderatore | IP: Collegato | Permalink

navajo75 è offline Old Post 22-03-2012 06:46
Clicca qui per vedere il profilo dell'utente navajo75 Clicca qui per inviare all'utente navajo75 un messaggio privato Visualizza ulteriori messaggi scritti dall'utente navajo75 Aggiungi l'utente navajo75 alla tua lista degli utenti amici Modifica / Cancella il messaggio Rispondi quotando   Torna su
navajo75
Utente di HTML.it



Registrato il: Dec 2009

Provenienza:

Messaggi: 117


ICQ :

MSN :

Skype :


Qualcuno che mi aiuti per cortesia. Sono bloccato.

Grazie

Segnala ad un moderatore | IP: Collegato | Permalink

navajo75 è offline Old Post 24-03-2012 05:29
Clicca qui per vedere il profilo dell'utente navajo75 Clicca qui per inviare all'utente navajo75 un messaggio privato Visualizza ulteriori messaggi scritti dall'utente navajo75 Aggiungi l'utente navajo75 alla tua lista degli utenti amici Modifica / Cancella il messaggio Rispondi quotando   Torna su
navajo75
Utente di HTML.it



Registrato il: Dec 2009

Provenienza:

Messaggi: 117


ICQ :

MSN :

Skype :


riepilogo.php è la pagina dove inizio a recuperare le variabili.
Quindi in questa pagina il seguente codice

codice PHP:

session_start
();   
if (!isset(
$_SESSION['prodotti'])) $_SESSION['prodotti'] = array();     
$prodotti $_SESSION['prodotti'];     
$prodotto = array('colorecarta' => $_POST['colorecarta']);     
$prodotti[] = $prodotto;


riepilogo.php manda a carrello.php; qui metto

codice PHP:

$_SESSION
['prodotti'] = $prodotti;


A questo punto non so nè in che punto del carrello cominciare a scorrere l'array, nè come farlo.
Ho provato con un ciclo for e con un foreach, ma senza alcun risultato.

Aiuto perfavore!!!

Segnala ad un moderatore | IP: Collegato | Permalink

navajo75 è offline Old Post 24-03-2012 10:34
Clicca qui per vedere il profilo dell'utente navajo75 Clicca qui per inviare all'utente navajo75 un messaggio privato Visualizza ulteriori messaggi scritti dall'utente navajo75 Aggiungi l'utente navajo75 alla tua lista degli utenti amici Modifica / Cancella il messaggio Rispondi quotando   Torna su
eiyen
Utente di HTML.it



Registrato il: Apr 2004

Provenienza:

Messaggi: 3709


ICQ :

MSN :

Skype :


in "riepilogo" dopo le tue elaborazioni prima dell'uscita dallo script devi aggiungere come ho già detto:

codice PHP:

$_SESSION
['prodotti'] = $prodotti;


in "carrello" invece devi fare il contrario per recuperare i prodotti già memorizzati e poi li scorri, quindi:

codice PHP:

$prodotti 
$_SESSION['prodotti'];
foreach (
$prodotti as $prodotto) {
  
// ... qui hai accesso ai singoli prodotti 
};

Segnala ad un moderatore | IP: Collegato | Permalink

eiyen è offline Old Post 24-03-2012 14:10
Clicca qui per vedere il profilo dell'utente eiyen Clicca qui per inviare all'utente eiyen un messaggio privato Visualizza ulteriori messaggi scritti dall'utente eiyen Aggiungi l'utente eiyen alla tua lista degli utenti amici Modifica / Cancella il messaggio Rispondi quotando   Torna su
navajo75
Utente di HTML.it



Registrato il: Dec 2009

Provenienza:

Messaggi: 117


ICQ :

MSN :

Skype :


Non vorrei cantarmel.. ma sembra che vada.
Ora non ho tempo. Domani provo a concludere e ti faccio sapere.
Sei stato troppo gentile.

GRAZIE

Segnala ad un moderatore | IP: Collegato | Permalink

navajo75 è offline Old Post 24-03-2012 14:30
Clicca qui per vedere il profilo dell'utente navajo75 Clicca qui per inviare all'utente navajo75 un messaggio privato Visualizza ulteriori messaggi scritti dall'utente navajo75 Aggiungi l'utente navajo75 alla tua lista degli utenti amici Modifica / Cancella il messaggio Rispondi quotando   Torna su
navajo75
Utente di HTML.it



Registrato il: Dec 2009

Provenienza:

Messaggi: 117


ICQ :

MSN :

Skype :


Ciao eiyen,

non so come ringraziarti. Ti confermo che funziona.

Un abbraccio,
Marco

Segnala ad un moderatore | IP: Collegato | Permalink

navajo75 è offline Old Post 26-03-2012 16:43
Clicca qui per vedere il profilo dell'utente navajo75 Clicca qui per inviare all'utente navajo75 un messaggio privato Visualizza ulteriori messaggi scritti dall'utente navajo75 Aggiungi l'utente navajo75 alla tua lista degli utenti amici Modifica / Cancella il messaggio Rispondi quotando   Torna su
eiyen
Utente di HTML.it



Registrato il: Apr 2004

Provenienza:

Messaggi: 3709


ICQ :

MSN :

Skype :


Sei il benvenuto... ciao!!

Segnala ad un moderatore | IP: Collegato | Permalink

eiyen è offline Old Post 26-03-2012 17:08
Clicca qui per vedere il profilo dell'utente eiyen Clicca qui per inviare all'utente eiyen un messaggio privato Visualizza ulteriori messaggi scritti dall'utente eiyen Aggiungi l'utente eiyen alla tua lista degli utenti amici Modifica / Cancella il messaggio Rispondi quotando   Torna su
Tutte le ore sono con fuso orario CET. Ora sono le 05:13.     

    Ultima discussione   Prossima discussione Invia una risposta
Versione per la stampa | Invia il thread via email | Ricevi aggiornamenti sul thread | Scarica il thread
 

Cerchi un argomento specifico e hai fretta? Usa il motore di ricerca