Visualizzazione dei risultati da 1 a 9 su 9

Discussione: Cookie che... muore!

  1. #1

    Cookie che... muore!

    Sto realizzando un carrello basato su cookie e sessioni.
    Per svuotare il carrello, uso
    codice:
    response("miocookie")=""
    Solo che mi capita che dopo aver fatto questa operazione, il carrello non riparte...
    Ossia, il cookie continua ad esserci ma Explorer non lo legge più, a meno che non chiudo e riapro il browser.
    In pratica, io clicco su "Aggiungi articolo" lui scrive i dati nel cookie ma l'asp non li legge più e continua a dirmi che il carrello è vuoto.
    Poi chiudo e riapro il browser e...
    PUFF!
    ... ricompaiono gli articoli nel carrello e tutto funziona come prima.
    (Stesso comportamento anche su FireFox)

    Così a occhio, secondo voi dove può essere l'errore?
    :master:
    Sto ancora imparando.... Chiedo comprensione!
    !...Send ME a message...!

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Quando esegui operazioni sui cookies asicurati di farle in pagine separate da quelle nelle quali li controlli...

    Roby

  3. #3
    E assicurati anche di impostare l'expire se vuoi averlo persistente anche in sessioni future.

  4. #4
    che io sappia i cookie vanno scritti così:
    <%
    response.cookies("nomesito.it")("valore")
    %>
    dove in valore è contenuto la "variabile" da te desiderata
    per svuotarlo bisogna scrivere
    <%
    response.cookies("nomesito.it")("valore")=""
    %>
    ...Se avanzo seguitemi... Se indietreggio uccidetemi...
    BiteFight... arruolati con me e non te ne pentirai

  5. #5
    Scusa Roby, posso chiederti di farmi un esempio piu' chiaro?
    Intendi di evitare questo?

    codice:
    if Request.Cookies(nomecook)="" then
    
    ' Setto e scrivo il cookie
    Response.Cookies(nomecook).Path = "/"
    Response.Cookies(nomecook).Expires = dateadd("d",now,10) ' il cookie scade dopo 10 giorni
    Response.Cookies(nomecook).Secure =FALSE
    
    ' Scrivo il codice nel cookie
    Response.Cookies(nomecook)("codice") = ordine
    Response.Cookies(nomecook)("totaleart") = 0 
    Response.Cookies(nomecook)("suppl") = 0
    Sto ancora imparando.... Chiedo comprensione!
    !...Send ME a message...!

  6. #6
    Siamo d'accordo soundforgers, quello che dici tu è per azzerare una variabile all'interno del cookie. Ma se io il cookie devo cancellarlo proprio?
    L'unico metodo che conosco è
    codice:
    response.cookies("nomesito.it")=""
    ma come vi dico ogni tanto mi blocca il cookie e non riesco più a leggerlo finchè non chiudo e riapro il browser. E non capisco perchè se l'istruzione gliela dà una pagina non mi provoca problemi, se gliela dà un'altra (lo srtesso identico codice) invece mi blocca il cookie.
    STO USCENDO PAZZA!

    Sto ancora imparando.... Chiedo comprensione!
    !...Send ME a message...!

  7. #7
    Nessuno mi dà una drittina??
    Sto ancora imparando.... Chiedo comprensione!
    !...Send ME a message...!

  8. #8
    ciao..
    Ascolta, io non sono un asso!
    ho anche io un carrello in asp
    questo e quello che ho nella pagina a livello di cokkie vedi se puo andarti bene!

    codice:
    <%
    if session("carr")="" then
    	randomize timer
    	session("carr")=int(rnd * 100000)+1
    '	wcod=session("carr")
    end if
    
    
    if request.cookies("sessione")("ID")= "" then
    	response.Cookies("sessione")("ID") = session("carr")
    else
    	session("carr")=request.cookies ("sessione")("ID")
    end if 
    %>
    Fammi sapere!

    Ps:
    magari puoi dami una mano su un post che ho inserito nel form!
    Ciao
    Scusate sto imparando!

  9. #9
    Dunque, giusto per conoscenza, questo problema l'ho risolto inserendo nella pagina che esegue lo svuotamento del carrello questa stringa:

    codice:
    Response.Cookies(nomecook).Path = "/"
    Ora vorrei solo una spiegazione, dai più esperti, perchè proprio non capisco. :master:
    Con questo codice (l'ho semplificato all'osso) aggiungo articoli al mio carrello...

    codice:
    Dim nomecook
    nomecook = "miosito.it"
    Response.Cookies(nomecook).Path = "/"
    Response.Cookies(nomecook).Expires = dateadd("d",now,5)
    Response.Cookies(nomecook).Secure = FALSE
    
    dim ind
    ind=Request.Cookies(nomecook)("totale")+1
    
    if Request.Cookies(nomecook)="" then
    
    Response.Cookies(nomecook)("codiceord") = 12345 (Qui c'era del codice per il random ma l'ho tolto per semplificare) 
    Response.Cookies(nomecook)("totale") = 0
    
    end if
    
    Response.Cookies(nomecook)("totale") = ind
    Response.Cookies(nomecook)("indice"&ind) = ind
    Response.Cookies(nomecook)("IDart"&ind) = request.form("IDart")
    Response.Cookies(nomecook)("codice"&ind) = request.form("codice")
    Response.Cookies(nomecook)("descrizione"&ind) = request.form("descrizione")
    Response.Cookies(nomecook)("costo"&ind) = request.form("costo")
    Response.Cookies(nomecook)("peso"&ind) = request.form("peso")
    
    response.redirect "inserimentook.asp"
    Una volta pubblicato su Web funziona perfettamente, ma in locale ogni tanto fa i capricci e aggiunge l'articolo 2 volte! E anche con una certa frequenza (lavoro su XP).
    Qualcuno mi sa spiegare il perchè di questa anomalia, così aumento la mia cultura?
    Good night.
    Sto ancora imparando.... Chiedo comprensione!
    !...Send ME a message...!

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.