imart Inviato 30 Settembre 2009 Segnala Condividi Inviato 30 Settembre 2009 Ciao ragazzi una semplice domanda: Se non ho un sistema di registrazione, come posso gestire il carrello e gli articoli? nel senso, visito un sito, senza registrarmi aggiungo al carrello della roba e poi cliccando "ordina" manda via email la merce che ho nel carrello.... Grazie! Belli come la vita, neri come la morte. FOLGORE!!! Link al commento Condividi su altri siti Altre opzioni di condivisione...
Cicciokr Inviato 1 Ottobre 2009 Segnala Condividi Inviato 1 Ottobre 2009 bhe avviene tramite le sessioni.. ovvero quando qualcuno clikka su aggiungi al carrello diciamo che viene creata una sessione o più sessioni per quella persona che contengono tali informazioni. Anche se guarda, il metodo più sicuro è far eseguire la registrazione. Link al commento Condividi su altri siti Altre opzioni di condivisione...
imart Inviato 1 Ottobre 2009 Autore Segnala Condividi Inviato 1 Ottobre 2009 eh infatti ma il tizio dice che per ora non vorrebbe la registrazione... Ho un problema...sto risolvendo in altro modo, funziona tutto tranne' il "mostra carrello" Ecco le pagine fatte al volo che sto utilizzando (accetto consigli ovviamente) L'elenco dei libri con il tasto aggiungi al carrello: <?php session_start(); include('pagine/config.php'); $libri = mysql_query("SELECT * FROM libri"); while ($row = mysql_fetch_array($libri)) { echo "$row[titolo]<br /> <form method=\"POST\" action=\"memorizzaprodotto.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> "; } ?> Questo e' memorizzaprodotto.php <?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 testomarca nel vettore SESSIONE testomarca $_SESSION["autore[$riga]"] = $_REQUEST["autore"]; // memorizzo il testomarca nel vettore SESSIONE descrizione $_SESSION["copertina[$riga]"] = $_REQUEST["copertina"]; // memorizzo il testomarca nel vettore SESSIONE descrizione $_SESSION["riga"] = $riga; } header("Location: carrello.php"); ?> ed infine, carrello.php che dovrebbe mostrarmi cio' che ho aggiunto al carrello, ma mi visualizza infinite x nella pagina... <?php session_start(); 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]"]); ?> <? } } ?> Belli come la vita, neri come la morte. FOLGORE!!! Link al commento Condividi su altri siti Altre opzioni di condivisione...
imart Inviato 1 Ottobre 2009 Autore Segnala Condividi Inviato 1 Ottobre 2009 ho modificato il post, inserendo il codice che sto utilizzando... Belli come la vita, neri come la morte. FOLGORE!!! Link al commento Condividi su altri siti Altre opzioni di condivisione...
imart Inviato 2 Ottobre 2009 Autore Segnala Condividi Inviato 2 Ottobre 2009 per favore, ho una certa urgenza di risolvere... grazie! Belli come la vita, neri come la morte. FOLGORE!!! Link al commento Condividi su altri siti Altre opzioni di condivisione...
Cicciokr Inviato 2 Ottobre 2009 Segnala Condividi Inviato 2 Ottobre 2009 allora secondo me il problema è in memorizza.. quindi fai una cosa.. al posto dlel'header mettici un echo e verifica che siano scritti.. Link al commento Condividi su altri siti Altre opzioni di condivisione...
Cicciokr Inviato 2 Ottobre 2009 Segnala Condividi Inviato 2 Ottobre 2009 poi una ltra cosa che nn capisco.. perchè nn ti salvi solo l'id del prodotto ed il resto dei dati lo prelevi da database?? Link al commento Condividi su altri siti Altre opzioni di condivisione...
imart Inviato 2 Ottobre 2009 Autore Segnala Condividi Inviato 2 Ottobre 2009 riguardo l'id hai ragione, il resto lo prelevo dal database tramite where id= ecc.. Il problema della x rimane anche sostituendo header("") con echo "prodotti aggiunti" ... Secondo me il problema e' nel for : for ($riga = 1; $riga <= $_SESSION["riga"]; $riga++) Belli come la vita, neri come la morte. FOLGORE!!! Link al commento Condividi su altri siti Altre opzioni di condivisione...
Cicciokr Inviato 3 Ottobre 2009 Segnala Condividi Inviato 3 Ottobre 2009 ma forse nn mi hai capito.. se metti l'echo i dati te li visualizza?? non hai mai eseguito un debug di una applicazione grande?? si usano mysql_error echo posti dappertutto.. cosi da verificare dove sia l'intoppo.. comunque per il for prova $riga >= 0 e non $riga = 1 Link al commento Condividi su altri siti Altre opzioni di condivisione...
imart Inviato 3 Ottobre 2009 Autore Segnala Condividi Inviato 3 Ottobre 2009 niente, ancora x infinite... non riesco a venirne a capo, oggi riscrivo tutto il codice e vedo.... magari quando l'ho scritto non ero troppo fresco Comunque devo approfondire il ciclo for perche' e' l'unico con cui ho maggiori difficolta' ... poi devo studiare bene le sessioni perche' non le ho mai usate per un carrello... Grazie ciccio Belli come la vita, neri come la morte. FOLGORE!!! Link al commento Condividi su altri siti Altre opzioni di condivisione...
imart Inviato 3 Ottobre 2009 Autore Segnala Condividi Inviato 3 Ottobre 2009 risolto. Cercando ho trovato uno script semplice gia' fatto... Adesso ho un altro piccolo problema per la gestione dei pagamenti... Ho un tag select con le varie opzioni, vorrei che quando scelgo ad esempio "pagamento tramite paypal" esca scritto sotto "paga al seguente indirizzo email ecc.."... Belli come la vita, neri come la morte. FOLGORE!!! Link al commento Condividi su altri siti Altre opzioni di condivisione...
Cicciokr Inviato 3 Ottobre 2009 Segnala Condividi Inviato 3 Ottobre 2009 allora quando compara paga con paypal.. devi eseguire un reindirazzemento alla pagina paypal tramite la quale si esegue il pagamento.. non puoi mettere tu i campi di input.. io se su un sito faccio un pagamento paypal e non mi esce la pagina di paypal io non inserisco alcun indirizzo email o password.. quindi la cosa che chiedi non la vedo possibile. Link al commento Condividi su altri siti Altre opzioni di condivisione...
imart Inviato 3 Ottobre 2009 Autore Segnala Condividi Inviato 3 Ottobre 2009 no non volevo fare cosi ... Esempio: Appena seleziono l'opzione "bonifico bancario", sotto mi compare la descrizione del pagamento... Belli come la vita, neri come la morte. FOLGORE!!! Link al commento Condividi su altri siti Altre opzioni di condivisione...
Cicciokr Inviato 4 Ottobre 2009 Segnala Condividi Inviato 4 Ottobre 2009 ma vedi che non puoi mettere un input nel quale scrivere l'indirizzo email da dove proverrà il pagamento paypal.. non esiste una cosa del genere.. lo hai mai visto percaso in altro siti??? non credo proprio.. metti solamente un collegamento a paypal per il pagamento di tale oggetto.. tramite il quale chi vende.. possiede già i dati di indirizzo dove spedire l'oggetto, nome e cognome di chi ha comprato l'oggetto. Link al commento Condividi su altri siti Altre opzioni di condivisione...
imart Inviato 4 Ottobre 2009 Autore Segnala Condividi Inviato 4 Ottobre 2009 dimentica paypal Voglio solo che quando seleziono un opzione, mi escano delle informazioni scritte sotto il <select>... ho letto che si tratta di onchange di javascript, ma non ho idea di come fare... Belli come la vita, neri come la morte. FOLGORE!!! Link al commento Condividi su altri siti Altre opzioni di condivisione...
Cicciokr Inviato 4 Ottobre 2009 Segnala Condividi Inviato 4 Ottobre 2009 una soluzione cosi su due piedi potrebbe essere: <head> <script language="javascript"> function open(div){ document.getElementById(div).style.display="block"; } function close(div){ document.getElementById(div).style.display="none"; } function changeLocation(menuObj) { var i = menuObj.selectedIndex; if(i > 0) { window.location = menuObj.options[ i ].id; } } </script> <style type="text/css"> .prova{ display: none; width: 100%; } </style> </head> <body> <select onChange="javascript:changeLocation(this)"> <option selected>Scegli</option> <option value="1" id="javascript:open(1); close(2);">Apri il div 1</option> <option value="2" id="javascript:open(2); close(1);">Apri il div 2</option> </select> <div id="1" class="prova"> Ecco il div 1 </div> <div id="2" class="prova"> Ecco il div 2 </div> </body> Link al commento Condividi su altri siti Altre opzioni di condivisione...
imart Inviato 4 Ottobre 2009 Autore Segnala Condividi Inviato 4 Ottobre 2009 carina la soluzione, ma non funziona... Belli come la vita, neri come la morte. FOLGORE!!! Link al commento Condividi su altri siti Altre opzioni di condivisione...
Cicciokr Inviato 4 Ottobre 2009 Segnala Condividi Inviato 4 Ottobre 2009 forse è copa di questo: <select onChange="javascript:changeLocation(this);"> funzionava un pò di tempo fa xdxd Link al commento Condividi su altri siti Altre opzioni di condivisione...
Cicciokr Inviato 4 Ottobre 2009 Segnala Condividi Inviato 4 Ottobre 2009 alora imart.. ho capito.. quando copi e incolli si formano degli spazi.. prova a incollarlo e togliere gli spazi che la formattazione del forum crea.. tipo in alto a displ ay o il javascript nel select.. Link al commento Condividi su altri siti Altre opzioni di condivisione...
imart Inviato 4 Ottobre 2009 Autore Segnala Condividi Inviato 4 Ottobre 2009 gradissimo, non avevo notato gli spazi in displ ay ma solo in (this )... Devo sperare che non passi mai da Varese, seno' con tutte le birre che ti devo, vado in rovina...hehe! Grazie! Belli come la vita, neri come la morte. FOLGORE!!! Link al commento Condividi su altri siti Altre opzioni di condivisione...
Cicciokr Inviato 5 Ottobre 2009 Segnala Condividi Inviato 5 Ottobre 2009 ahahah sfondiamo il pub!! xd Link al commento Condividi su altri siti Altre opzioni di condivisione...
imart Inviato 5 Ottobre 2009 Autore Segnala Condividi Inviato 5 Ottobre 2009 haha sisi ... funziona tutto perfettamente solo una cosa mi turba... ora gli ordini dovrei mandarli tramite email quando viene schiacciato il bottone "ordina prodotti"... la funzione che mi mostra il riepilogo degli ordini e' la seguente: function showOrdiniCart() { global $db; $cart = $_SESSION['cart']; if ($cart) { $items = explode(',',$cart); $contents = array(); foreach ($items as $item) { $contents[$item] = (isset($contents[$item])) ? $contents[$item] + 1 : 1; } $output[] = '<form action="http://***************ordina.html" method="post" id="cart">'; $output[] = '<table>'; foreach ($contents as $id=>$qty) { $sql = 'SELECT * FROM libri WHERE id = '.$id; $result = $db->query($sql); $row = $result->fetch(); extract($row); $titolo = str_replace("_"," ",$titolo); $output[] = '<tr>'; $output[] = '<td>'.$titolo.' di '.$autore.' </td>'; $output[] = '<td>Quantita\': <b>'.$qty.'</b></td>'; $output[] = '<td>Prezzo: €<b>'.$prezzo. '</b></td>'; $total += $prezzo * $qty; $output[] = '</tr>'; } $output[] = '</table>'; $output[] = '<p>Totale: <strong>€'.$total.'</strong></p><br /><br />'; $output[] = '<input type="submit" value="ordina prodotti">'; $output[] = '</form>'; } else { $output[] = ''; } return join('',$output); } Quando il cliente guarda gli ordini e vuole inviarli al negoziante, schiaccia "ordina prodotti", e al negoziante gli arriva un mail che contiene tutti gli ordini richiesti dal cliente.. ma non mi e' mai capitato di mandare email che contengono dati delle sessioni... il var_dump($_SESSION); dice array(1) { ["cart"]=> &string(2) "64" } Belli come la vita, neri come la morte. FOLGORE!!! Link al commento Condividi su altri siti Altre opzioni di condivisione...
Cicciokr Inviato 5 Ottobre 2009 Segnala Condividi Inviato 5 Ottobre 2009 ma perchè non invii via email direttamente ciò che l'utente visualizza? Link al commento Condividi su altri siti Altre opzioni di condivisione...
imart Inviato 5 Ottobre 2009 Autore Segnala Condividi Inviato 5 Ottobre 2009 praticamente tu quando compri online poi ti trovi nella pagina di riepilogo degli ordini e devi confermare che vuoi ordinare quella roba... quando clicchi "ordina" , parte l'email e arriva al negoziante con dentro tutta la roba che vorresti ... Quella funzione, mi mostra il riepilogo degli ordini, sotto c'e' il bottone "ordina", ma non saprei cosa scrivere nella pagina ordina.php .... una roba del genere: $a = "miamail"; $oggetto = "ciupa"; $messaggio = "elenco dei prodotti"; mail($a,$oggetto,$messaggio); al posto di "elenco dei prodotti", andrebbe tutto il contenuto della sessione, ovvero gli articoli che ci sono nel carrello... Belli come la vita, neri come la morte. FOLGORE!!! Link al commento Condividi su altri siti Altre opzioni di condivisione...
Cicciokr Inviato 5 Ottobre 2009 Segnala Condividi Inviato 5 Ottobre 2009 quello che ti voglio dire io è.. quando clikka su 'ordina' nell'email fai comparira la stessa lista che appare all'utente.. nella pagina ordina.php esegui la stessa query per visualizzare gli oggetti.. magari cambi il layout.. ma per il resto va bene.. Link al commento Condividi su altri siti Altre opzioni di condivisione...
Cicciokr Inviato 5 Ottobre 2009 Segnala Condividi Inviato 5 Ottobre 2009 $a = "miamail"; $oggetto = "ciupa"; $messaggio = "showOrdiniCart();"; mail($a,$oggetto,$messaggio); Link al commento Condividi su altri siti Altre opzioni di condivisione...
imart Inviato 5 Ottobre 2009 Autore Segnala Condividi Inviato 5 Ottobre 2009 che picio, era semplicissimo... non capisco pero' perche' non va a capo nell'email :\ $output[] = ''.$titolo.' di '.$autore.'\n '; $output[] = 'Quantita\': '.$qty.'\n'; $output[] = 'Prezzo: €'.$prezzo. '\n '; grazie ciccio Belli come la vita, neri come la morte. FOLGORE!!! Link al commento Condividi su altri siti Altre opzioni di condivisione...
imart Inviato 5 Ottobre 2009 Autore Segnala Condividi Inviato 5 Ottobre 2009 risolto! $output[] = 'Totale: €'.$totale."\n"; \n andava racchiuso tra doppi apici. Belli come la vita, neri come la morte. FOLGORE!!! Link al commento Condividi su altri siti Altre opzioni di condivisione...
Cicciokr Inviato 6 Ottobre 2009 Segnala Condividi Inviato 6 Ottobre 2009 perfetto ^^ aggiungiamo una birra?? xd Link al commento Condividi su altri siti Altre opzioni di condivisione...
imart Inviato 6 Ottobre 2009 Autore Segnala Condividi Inviato 6 Ottobre 2009 ho comprato la lattona della Heineken, quello da 5 litri. Belli come la vita, neri come la morte. FOLGORE!!! Link al commento Condividi su altri siti Altre opzioni di condivisione...
Messaggi raccomandati
Archiviato
Questa discussione è archiviata e chiusa a future risposte.