Visualizzazione dei risultati da 1 a 8 su 8

Discussione: carrello e-commerce

  1. #1

    carrello e-commerce

    Sono nuovo sul forum anche se vi seguo da tanto
    complimenti!!!

    Volevo sottoporvi un problema che mi sta assillando...
    Sto realizzando un sito e-commerce per il negozio di hobbistica mio e della mia ragazza e devo subito dire che è la prima volta che mi cimento con asp, database e server. Sono autodidatta.
    La struttura del sito è un index con il menu delle categorie a sinistra e i contenuti dinamici delle pagine al centro. Sono riuscito dopo vari tentativi a realizzare la pagina dei prodotti e della scheda prodotti ma nel momento in cui devo inserire i dati nella pagina carrello specificando ovviamente "le quantità" tramite un input type=text queste non mi funzionano.
    In particolare quando clicco sull'immagine del carrello si inseriscono i dati del primo record anche se non inserisco nessuna quantità.
    Ho fatto diverse prove ma non riesco proprio a scovare l'errore.
    Lo so che per voi questa può risultare una domanda banale ma ho cercato ovunque su internet e sui forum di html.it non trovando risposta.
    Vi inserisco il codice della pagina scheda prodotti per darvi la possibilità di trovare gli eventuali errori e vi ringrazio in anticipo per il vostro gentile aiuto sperando di essere stato chiaro

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>Floart.it - Laboratorio di attivita' creative Centro di hobbistica e craft femminile Decoupage</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <link rel="stylesheet" type="text/css" href="index.css">
    <link rel="Shortcut Icon" href="http://www.floart.it/favicon.ico" />
    <meta name="author" content="Flo' Art">
    <meta name="copyright" content="floart.it">
    <meta name="description" content="laboratorio di attivita' creative - centro di hobbistica e craft femminile - vendita di materiali - corsi - dimostrazioni">
    <meta name="keywords" content="laboratorio - attivita' creative - centro - hobbistica - craft femminile - vendita on-line - materiale vario - materiali - corsi - dimostrazioni - news - decoupage - stencil - embossing - patchwork - cartonnage - cartonaggio - craquelle - cracle' - crackle' - tecniche decorative - supporti - legno - latta - cartone - vetro - plastica - polistirolo - carta riso - carte - la velinette - tovaglioli - tovagliolini - catalogo - hobby creativo - shop - shopping - e-commerce - commercio elettronico - gallery - galleria - pennello - pennelli - tabella colori - colla - colle - vernice - vernici - lacca - lacche - foglia oro - patina - patine - arte deco - art potch - goya - celina - stafil - arte' - hobby duck">
    </head>
    <body>
    <center>
    <table width="922" height="100%" border="0" align="center" cellpadding="0" cellspacing="0">
    <tr>
    <td colspan="7" align="center">[img]images/top.jpg[/img]</td>
    </tr>
    <tr>
    <td rowspan="17" width="207" valign="top" align="left"> </td>
    <td rowspan="17" width="10">[img]images/blank.gif[/img]</td>
    <td colspan="4" valign="top"><font size="-1">Categoria: Accessori
    - Sottocategoria: Pennelli piatti
    </font></td>
    <td rowspan="17" width="207" valign="top" > <font size="2"><u>Sito realizzato da Webmaster</u>

    <font size="1">Tutti i diritti riservati © 2006 Floart.it</font></font></td>
    </tr>
    <tr>
    <td height="10"></td>
    </tr>
    <tr>
    <td colspan="2" height="300" valign="top">[img]images/immDat/pennelli_piatti_max.jpg[/img]</td>
    <td colspan="2" valign="top"> <table width="231" height="72" align="left" border="0" cellpadding="0" cellspacing="0">
    <tr>
    <td valign="top">Pennelli piatti</td>
    </tr>
    <tr>
    <td valign="top">
    <%'Colleghiamoci alla tabella Prodotti
    strsql = "select * from Prodotti where id_prodotto=1"
    set rs = con.execute(strsql)
    'Scorro tutti i prodotti
    while not rs.eof%>
    <%if testo<>"-"then
    Set objFileSys=Server.CreateObject("Scripting.FileSyst emObject")
    varInputFile=Server.MapPath("testi/piatti.txt")
    Set objTsIn=objFileSys.OpenTextFile(varInputFile)
    Do Until objTsIn.AtEndOfStream
    i=i+1
    response.write(objTsIn.ReadLine)
    loop
    objTsIn.Close
    end if%> </td>
    </tr>
    <tr>
    <td>

    cod.
    <%response.write(RS("codiceA"))
    codiceA = rs("codiceA")%>
    <%rs.movenext
    wend
    rs.close
    set rs = nothing%></td>
    </tr>
    <tr>
    <td>

    [img]images/carrello.jpg[/img]</td>
    </tr>
    <tr>
    <td></td>
    </tr>
    </table>
    <tr>
    <td width="146" height="10" valign="top"></td>
    <td width="112" valign="top"><font size="-1">Q.t&agrave;</font></td>
    <td width="147" height="10" valign="top"></td>
    <td width="93" valign="top"><font size="-1">Q.t&agrave;</font></td>
    </tr>
    <tr>
    <td width="146" height="5" valign="top">Pennello piatto n° 0</td>
    <td valign="top"><input type="text" name="quantita" size="2"></td>
    <td width="147" height="5" valign="top">Pennello piatto n° 2</td>
    <td width="93" valign="top"><input type="text" name="quantita" size="2"></td>
    </tr>
    <tr>
    <td height="1" valign="top"><font size="2">prezzo &euro; 2,40</font></td>
    <td valign="top"><font size="-1"></font></td>
    <td width="147" height="1" valign="top"><font size="2">prezzo &euro; 2,60</font></td>
    <td width="93" valign="top"><font size="-1"></font></td>
    </tr>
    <tr>
    <td height="1" valign="top"></td>
    <td valign="top"><font size="-1">Quantit&agrave;</font></td>
    <td width="147" height="1" valign="top"></td>
    <td width="93" valign="top"><font size="-1">Quantit&agrave;</font></td>
    </tr>
    <tr>
    <td height="1" valign="top">Pennello piatto n° 0</td>
    <td valign="top"><input name="text3" type="text" size="3"></td>
    <td width="147" height="1" valign="top">Pennello piatto n° 0</td>
    <td width="93" valign="top"><input name="text4" type="text" size="3"></td>
    </tr>
    <tr>
    <td height="1" valign="top"></td>
    <td valign="top"><font size="-1">Quantit&agrave;</font></td>
    <td width="147" height="1" valign="top"></td>
    <td width="93" valign="top"><font size="-1">Quantit&agrave;</font></td>
    </tr>
    <tr>
    <td height="0" valign="top">Pennello piatto n° 0</td>
    <td valign="top"><input name="text32" type="text" size="3"></td>
    <td width="147" height="0" valign="top">Pennello piatto n° 0</td>
    <td width="93" valign="top"><input name="text33" type="text" size="3"></td>
    </tr>
    <tr>
    <td height="0" valign="top"></td>
    <td valign="top"><font size="-1">Quantit&agrave;</font></td>
    <td width="147" height="0" valign="top"></td>
    <td width="93" valign="top"><font size="-1">Quantit&agrave;</font></td>
    </tr>
    <tr>
    <td height="0" valign="top">Pennello piatto n° 0</td>
    <td valign="top"><input name="text322" type="text" size="3"></td>
    <td width="147" height="0" valign="top">Pennello piatto n° 0</td>
    <td width="93" valign="top"><input name="text323" type="text" size="3"></td>
    </tr>
    <tr>
    <td height="0" valign="top"></td>
    <td valign="top"><font size="-1">Quantit&agrave;</font></td>
    <td width="147" height="0" valign="top"></td>
    <td width="93" valign="top"><font size="-1">Quantit&agrave;</font></td>
    </tr>
    <tr>
    <td height="0" valign="top">Pennello piatto n° 0</td>
    <td valign="top"><input name="text3222" type="text" size="3"></td>
    <td width="147" height="0" valign="top">Pennello piatto n° 0</td>
    <td width="93" valign="top"><input name="text3223" type="text" size="3"></td>
    </tr>
    <tr>
    <td height="0" valign="top"></td>
    <td valign="top"><font size="-1">Quantit&agrave;</font></td>
    <td width="147" height="0" valign="top"></td>
    <td width="93" valign="top"><font size="-1">Quantit&agrave;</font></td>
    </tr>
    <tr>
    <td height="0" valign="top">Pennello piatto n° 0</td>
    <td valign="top"><input name="text32222" type="text" size="3"></td>
    <td width="147" height="0" valign="top">Pennello piatto n° 0</td>
    <td width="93" valign="top"><input name="text32223" type="text" size="3"></td>
    </tr>
    <tr>
    <td height="1" valign="top"></td>
    <td valign="top"></td>
    <td width="147" height="1" valign="top"></td>
    <td width="93" valign="top"></td>
    </tr>
    <tr>
    <td height="10">[img]images/blank.gif[/img]</td>
    </tr></tr>
    </table>
    </center>
    </body>
    </html>

  2. #2
    cambiamo tattica, dacci un link se esiste di qualcosa online in maniera da vederlo con i nostri occhi..e cmq servirebbe il codice della pagina che processa i dati

    In particolare quando clicco sull'immagine del carrello si inseriscono i dati del primo record anche se non inserisco nessuna quantità.
    che vuol dire? facci un esempio pratico e soprattutto controlla che nel codice che inserisce i dati nel carrello ci sia specificato che, in caso di quantità<=0, non venga inserito nulla nel carrello


  3. #3
    Grazie per l'aiuto!!!
    Innanzitutto non ho ancora pubblicato il sito perchè non ricordo come devo scrivere l'indirizzo di connessione al database. Quello evidenziato è sul mio server ma io devo pubblicarlo su aruba.

    pagina connessione.asp
    <%
    'Connessione al database
    set con = server.createobject("ADODB.Connection")
    con.open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=f:\inetpub\wwwroot\floart\floart.mdb"
    %>

    scusa lo so che sono un caso disperato

    Seconda cosa hai centrato il problema in quanto è proprio mettere la quantità<=0 che non riesco a fare. Nella pagina che ti avevo inserito (scheda.asp) che contiene dei pennelli io avevo messo dei campi quantità (input type=text) per ogni misura dei suddetti, però quando inserisco nel carrello qualsiasi quantità io scelga di mettere nel campo mi inserisce la quantità=1 e soprattutto io vorrei che se i campi quantità sono vuoti non si aggiunga niente nel carrello.
    Ti inserisco il codice della pagina car.asp
    Ti prego aiutami sto diventando matto!!!
    Dimmi se hai bisogno di altre informazioni
    Grazie di tutto



    <%
    'Richiamo l' id del prodotto da inserire
    id_scheda = request("id_scheda")
    sottocategoria = request("sottocategoria")
    codiceA = request("codiceA")
    codiceS = request("codiceS")
    prezzo = request("prezzo")
    quantita = request.Form("quantita")
    'Aggiunta nuovo prodotto nel Carrello
    'Controllo che il prodotto sia già presente nel carrello
    if len(id_scheda) <> 0 then
    strSQL = "select id_scheda from Carrello order by id_scheda"
    set rs = con.execute(strSQL)
    'Se il prodotto non esiste, lo aggiungo
    'Altrimenti aggiorno la quantita' di 1 unità
    if rs.eof then
    'Aggiungo il prodotto
    strSQL = "insert into Carrello(id_scheda, sottocategoria, codiceA, codiceS, prezzo, quantita) values('" & id_scheda & "', '" & sottocategoria & "', '" & codiceA & "', '" & codiceS & "', '" & prezzo & "', '1')"
    con.execute(strSQL)
    else
    'Aggiorno la quantità
    strSQL = "update Carrello set quantita = quantita + 1 where id_scheda = " & id_scheda
    con.execute(strSQL)
    end if
    rs.close
    set rs = nothing
    end if
    'Fine

    'Aggiorno il carrello
    if request("azione") = "aggiorna" then
    'Controllo quali prodotti aggiornare o eliminare
    set rs = Server.CreateObject("ADODB.Recordset")
    rs.activeconnection = con
    rs.cursortype = adOpenDynamic
    rs.locktype = adLockOptimistic
    strsql = "select * from Carrello order by id_scheda"
    rs.open strsql

    'Elenco dei prodotti nel carrello
    'E modifica...
    while not rs.eof
    id_scheda = request(rs("id_scheda"))

    if isnumeric(id_scheda) then
    if id_scheda = 0 then
    rs.delete
    else
    rs("quantita") = id_scheda
    end if
    end if
    rs.movenext
    wend
    'Fine

    rs.close
    set rs = nothing
    'Fine
    end if
    %>

    <table align="left" width="500" border="0">
    <form method="post" action="carrello.asp?azione=aggiorna">
    <tr bgcolor="#FFDFEF">
    <td width="180" align="center">Prodotto</td>
    <td width="80" align="center">Codice</td>
    <td width="80" align="center">Prezzo</td>
    <td width="80" align="center">Quantita'</td>
    <td width="80" align="center">Totale</td>
    </tr>
    <%
    'Inizializzo le variabili per il prezzo totale
    var_tot = 0

    'Visualizzo tutti i prodotti del carrello
    strSQL = "select * from Carrello order by id_scheda"
    set rs = con.execute(strSQL)

    'Il carrello e' vuoto ?
    if rs.eof then
    %>
    <tr>
    <td colspan="5" align="center"> Il tuo carrello e' vuoto
    <a href="index.asp">Torna
    ai prodotti</a> </td>
    </tr>
    <%
    end if
    'Fine

    'Elenco dei prodotti
    while not rs.eof
    'Prelevo tutti i dati dal carrello
    id_scheda = rs("id_scheda")
    qnt = rs("quantita")
    codiceA = rs("codiceA")
    codiceS = rs("codiceS")
    'Richiamo le informazioni relative al prodotto
    'e aggiorno il valore del prezzo totale
    strSQL = "select sottocategoria, prezzo from Schede where id_scheda = " & id_scheda
    set rs2 = con.execute(strSQL)
    sottocategoria = rs2("sottocategoria")
    prezzo = rs2("prezzo")
    var_tot = var_tot + (prezzo * qnt)
    rs2.close
    set rs2 = nothing
    'Fine

    'Visualizzo i prodotti nella tabella
    %>
    <tr>
    <td><%=sottocategoria%></td>
    <td><%=codiceA%> - <%=codiceS%></td>
    <td>€ <%=formatnumber(prezzo, 2)%></td>
    <td><input type="text" name="<%=id_scheda%>" value="<%=qnt%>" size="2" maxlength="2"></td>
    <td>€ <%=formatnumber(prezzo * qnt, 2)%></td>
    </tr>
    <%
    'Fine
    rs.movenext
    wend
    rs.close
    set rs = nothing
    'Fine
    %>
    <tr>
    <td align="center"><input type="submit" value="aggiorna carrello"></td>
    <td align="center"></td>
    <td> </td>
    <td colspan="2">Totale spesa € <%=formatnumber(var_tot, 2)%></td>
    </tr>
    <tr>
    <td colspan="5"> Quantità = 0 (elimina il prodotto dal carrello)
    <a href="index.asp">Torna
    ai prodotti</a> </td>
    </tr>
    </form>
    </table>

  4. #4
    Mi rendo conto che sono proprio domande banali
    ma a forza di riprovare mi sto letteralmente esaurendo
    aiutooooooooo!!!

  5. #5
    in genere la connessione si fa
    codice:
    con.open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.MapPath("/cartelladb/database.mdb")
    per il resto, nella query di insert prodotto in carrello metti quantità=1 come se quantità fosse un campo "text" nel database (infatti usi gli apici per delimitare 1 nella query)..se il campo nel db è numerico non devi usare gli apici...se il campo nel db è text, cambialo e mettilo a numerico


    ma che dovrebbe fare questa cosa?
    codice:
    'Elenco dei prodotti nel carrello
    'E modifica...
    while not rs.eof
    id_scheda = request(rs("id_scheda"))
    
    if isnumeric(id_scheda) then
    if id_scheda = 0 then
    rs.delete
    else
    rs("quantita") = id_scheda
    end if
    end if
    rs.movenext
    wend
    ?? perchè in una quantità dovresti mettere l'id_scheda?



    3° punto: tu ricavi una variabile quantita=request.form("quantita")...eppure poi nelle tue select questa quantita non la usi...che te la ricavi a fare?...altro punto: non esiste nel form una campo col name="quantita"...chiami id_Scheda una quantita...nel primo form hai solo il primo input col name=quantita, gli altri hanno name text1,2,3,4 etc...

    non lo so queste pagine fanno aqua da tutte le parti...rivedile un pò e cerca di fare una cosa lineare

  6. #6
    Grazie per l'aiuto che mi stai dando e scusami ancora se ti disturbo....

    Ho seguito le tue indicazioni ma ho risolto solo in parte il problema.
    Ho pensato di farti vedere il risultato a cui ipoteticamente vorrei arrivare!!!

    http://www.lemercerie.it/content/cat...oni=0&novita=0

    la mia intenzione è di realizzare una pagina del genere, in effetti il mio sito ha gli stessi contenuti di questo che ti ho scritto. Purtroppo mi sfugge qualcosa...

    I dati li riesco a inserire solo in questo modo e non mi genera nessun errore:

    [img]images/carrello.jpg[/img]

    però mi resta sempre da risolvere il problema della quantita.

    Il pezzo di codice che mi hai segnalato riguarda l'istruzione "cancella dal carrello" che avviene settando la quantita a 0 anche se io vorrei realizzare un bottone "cancella"

    Di nuovo grazie per l'aiuto offertomi

  7. #7
    allora,

    se tu leggi l'html di quella pagina, vedrai che ci sono varie parti interessanti, la prima è questa:
    codice:
       <form name="scheda" action="../Carrello/carrello_itemadd.asp?prodotto=3627&amp;pagina=3&amp;famiglia=6&amp;sottofam=11&amp;promozione=0&amp;novita=0&amp;cerca=" method="POST" onSubmit="return ControlloInteri(this, 'forme')">
    come puoi vedere l'inserimento del prodotto non è legato ad un href ma ad un form

    in secondo trovi questo:

    codice:
    <input type='hidden' Name='Prezzo' value='5,78'>
    <input type='hidden' Name='Nome' value='PERLE MADREPERLATE'>
    <input type='hidden' Name='FotoNomeFile' value='787787.jpg'>
    che come vedi sono campi di form nascosti che servono ad avere a disposizione i dati nella pagina di inserimento nel carrello

    detto ciò, tu devi fare un bel form con i campi suddetti (o quelli di interesse) e in + ci metti un campo <input type="text" name="quantita"> in cui il cliente andrà a specificare la quantità desiderata

    that's all, that's more easier than you think


  8. #8
    Ho cercato di risolvere i vari problemi e l'unica cosa che ancora non riesco a fare è gestire più campi quantita nello stesso form, come puoi notare nella pagina che ti ho segnalato,

    http://www.lemercerie.it/content/cat...oni=0&novita=0

    sotto all'immagine grande ci sono varie opzioni a seconda della grandezza....io devo poter scegliere anche una sola di queste opzioni oppure più di una.

    Il problema è che i campi quantita e i campi nascosti hanno lo stesso name ma value differenti...
    ad esempio nella mia pagina ho messo

    <tr>
    <td width="146" height="5" valign="top">Pennello piatto n° 0</td>
    <td valign="top"><input type="text" name="quantita" size="2"><input type="hidden" size="3" name="id_prodotto" value="1"><input type="hidden" size="3" name="prezzo" value="2,40"></td>
    <td width="147" height="5" valign="top">Pennello piatto n° 2</td>
    <td width="93" valign="top"><input type="text" name="quantita" size="2"><input type="hidden" size="3" name="id_prodotto" value="2"><input type="hidden" size="3" name="prezzo" value="2,60"></td>
    </tr>

    quando invio i dati mi esce questo errore

    Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

    [Microsoft][ODBC Microsoft Access Driver] Syntax error (comma) in query expression 'id_prodotto = 1, 2'.

    /floart/car.asp, line 15

    ti prego aiutami rischio il manicomio!!! VVoVe:

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.