Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    461

    pcomplicazioni su procedimento in ASP

    ciao!
    ho un problema abbastanza grande...!

    ho un sito e-commerce classico con registrazione utente...catalogo prodotti e carrello...
    e fin qui tutto ok...il problema è che devo poter fare in modo che un utente possa aggiungere,e poi togliere o svuotare il carrello dai prodotti che ha scelto anche se non è registrato!
    come posso fare cio?
    sono in difficolta in quanto non saprei come gestire la cosa...
    ad esempio non saprei a cosa associare una ipoetica variabile sessione...quando nel caso in cui uno sia loggato la associo al' id del cliente...

  2. #2
    ciao,
    quando un utente visita il tuo sito puoi seguire uno schema procedurale del genere:

    1) verifichi se ha presente il cookie (supponiamo) "sessionid"
    2) in caso negativo crei una session id per quell'utente (es: stringa casuale di 10 caratteri alfanumerici) e la memorizzi in un cookie
    3) le sue operazioni a livello di aggiunta ed eliminazione prodotti dal carrello le associ nel database a questa sua session id
    4) nel momento in cui il cliente si registra o autentica (nel caso fosse già registrato) come cliente, vai ad inserire l'ID di quel cliente nei record che hanno come session id il valore presente nel cookie associato a quel cliente

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    461
    come si scrive la formula per la creazione di codici random alfanumerici?

  4. #4
    io utilizzo questa bella funzioncina:

    codice:
    ' Genera una stringa casuale di nchar caratteri
    function GenerateSessionID(nchar)
    	dim sessionID
    	sessionID = ""
    	randomize timer
    	dim i, n
    	for i=0 to nchar-1
    		do
    			n = int(rnd * 75) + 48
    		loop until ((n >= 48) AND (N <= 57)) OR ((N >= 65) AND (N <= 90)) OR ((N >= 97) AND (N <= 122))
    		sessionID = sessionID & chr(n)
    	next
    	GenerateSessionID = sessionID
    end function
    il parametro in ingresso è la lunghezza della stringa che vuoi ottenere (che viene restituita dalla funzione)

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    461
    ok...pero per l'id generato devo creare un nuovo campo (ad es. id_temp) in db?

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    461
    ho provato facendo cosi quando l'utente sceglie un prodotto da aggiungere al carrello:

    <%
    session("id_temp")=generateSessionID(4)
    data=cdbl(now)
    sql2="INSERT INTO ORDINI(ID_PR, QTA_ORD, ID_TEMP, DATA_INS) VALUES('" &request("id_pr") & "', '" & session("id_temp")& "', '" & request("qta") & "', '"&data&"')"
    conn.execute(sql2)
    chiudi
    %>

    dove session("id_temp") è quella stringa alfanumerica che genero quando scelgo di aggiungere qualcosa al carrello...quindi lo implementata nella tabella ordini...il problema è che non mi inserisce nesun vaolre per l'id_temp...

  7. #7
    prima della query verifica se la variabile di sessione è effettivamente valorizzata:
    codice:
    response.write(session("id_temp"))

  8. #8
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    461
    ok ci sono riuscito!
    pero cè un modo per far si che quando chiudo la pagina del sito in questione vengano annullati gli oridni che il cliente non registrato a fatto?

  9. #9
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    461
    ok adesso funziona

  10. #10
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    461
    allroa va tutto bene!
    funziona tutto precisamente a parte quando un utente non registrato mette prodotti nel carrello e poi si registra...nel codice ho inserito questo:

    sql="SELECT * FROM ORDINI WHERE ID_TEMP='"&session("id_temp")&"'"
    aprirs sql
    do until rs.eof
    rs("id_temp")=""
    rs.update
    rs.movenext
    loop

    cosi facendo elimino l'id temp...pero come faccio a dirgli di riempire il campo dell'id_cl...nel caso di un utente gia registrato gli dico:
    rs("id_cl")=session("id_cl")...che si crea quando si logga

    mentre per un utente non ancora registrato?

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 © 2026 vBulletin Solutions, Inc. All rights reserved.