Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: Lingue e cookie

  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2004
    Messaggi
    16

    Lingue e cockie

    Salve,
    non so se sono nella sezione esatta, ma visto che ho trovato altre info simili che pero' non mi hanno aiutato a molto, posto la mia domanda qui.

    Sto costruendo un sito in asp, ho fatto in modo che riconosca la lingua del browser (italiano, spagnolo, inglese) e una lingua di default in caso non rientri nessuna di queste.
    Ho aggiunto anche le 3 bandierine per cambiare lingua manualmente, e fino a qui tutto funziona bene.

    Qui nasce la mia necessita':
    Se un utente italiano ha un broswer in inglese (perche' si trova all'estero o per altri svariati motivi) e seleziona la lingua italiana, mi piacerebbe che al successivo accesso al sito gli ripresenti la lingua che lui ha selezionato prima di chiuderlo.

    Questo so che e' realizzabile con i cockie, ma non so come iniziare.

    Allego qui di seguito la session per cambiare la lingua, cosi' e' + facile capire come si articola il mio sito.
    Link per cambiare lingua:
    codice:
     
             <a href="cambio_lingua_invia.asp?lingua=en">
             <a href="cambio_lingua_invia.asp?lingua=it">
             <a href="cambio_lingua_invia.asp?lingua=es">
    Preleva la session:
    codice:
             <%
             lingua = Lcase(Request.QueryString("lingua"))
             session("lingua") = lingua
             Response.Redirect "home.asp"
             %>
    Codice che include le lingue dipendendo dalla session selezionata:
    codice:
             <%
             lingua = session("lingua")
             IF lingua = "it" or lingua = "" then
             %>
             
             <%
             elseIF lingua = "en" then
             %>
             
             <%
             elseIF lingua = "es" then
             %>
             
             <%
             Else
             session("lingua") = ""
             
             End IF
             %>
    Scusate se sono stato troppo lungo, ma creo sia stato necessario per far capire come diavolo ho intrecciato i link.

    Per concludere:
    Come posso creare un cockie che memorizzi l'ultima lingua selezionata e mantenuta dalla session?

    Grazie anticipatamente.
    Grassoft
    ME VALE MADRE

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Ogni volta che cambi lingua e crei la tua session:

    codice:
    lingua = Lcase(Request.QueryString("lingua"))
    session("lingua") = lingua
    response.cookies("lingua") = lingua
    response.cookies("lingua").Expires = dateAdd("yyyy",1, date())
    Per la durata di un anno rimane salvato sul pc client (a meno che non lo cancelli l'utente).
    Ad ogni modo dovresti usare secondo me solo i cookies abbandonando per questo genere di cose le session che utilizzano la memoria del server inutilmente tutto sommato.

    Roby

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2004
    Messaggi
    16
    Originariamente inviato da Roby_72
    Ogni volta che cambi lingua e crei la tua session:

    codice:
    lingua = Lcase(Request.QueryString("lingua"))
    session("lingua") = lingua
    response.cookies("lingua") = lingua
    response.cookies("lingua").Expires = dateAdd("yyyy",1, date())
    Per la durata di un anno rimane salvato sul pc client (a meno che non lo cancelli l'utente).
    Ad ogni modo dovresti usare secondo me solo i cookies abbandonando per questo genere di cose le session che utilizzano la memoria del server inutilmente tutto sommato.

    Roby
    Ti ringrazio infinitamente, subito provero' quanto suggerito da te.

    Ho letto diverse documentazioni per creare i cockie, e li spiegavano che bisognava verificare l'esistenza del cockie, l'invio ecc.

    Non conosco affatto i cockie, con queste due righe suggerite risolvo il problema?
    Per il suggerimento di abbandorare la session ci pensero' + avanti, per il momento mi accontento di questo che funziona
    Ciao e grazie ancora
    Grassoft
    ME VALE MADRE

  4. #4

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2004
    Messaggi
    16
    Originariamente inviato da Roby_72
    Eccoti un'altra guida:
    http://freeasp.html.it/guide/lezioni.asp?idguida=6

    Roby
    Sei un grande, la leggero' subito.

    Grazie mille

    Grassoft
    ME VALE MADRE

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2004
    Messaggi
    16
    Originariamente inviato da Roby_72
    Eccoti un'altra guida:
    http://freeasp.html.it/guide/lezioni.asp?idguida=6

    Roby
    Ciao Roby,
    ho letto la guida, ed ho costruito il rimanente codice per la lettura del cookie stesso.

    Ma purtroppo sono sorti altri problemi.
    Con il codice che mi hai gentilmente passato riesco a scrivere il cookie, infatti se lo cerco dentro la cartella cookies lo trovo, e addirittura editando il file vedo il valore proveniente da session.
    Tanto per ricordartelo i valori sono: it, es, en.

    Per poter leggere il cookie all'inizio del file index.asp ho inserito questo codice:
    codice:
    <%
    dim Str_Lingua
    Str_Lingua = request.cookies("lingua")
    ' Ho inserito questo reponse.write per vedere che valora ha, ma a quanto pare non ha nessun valore perche' non vedo nulla a video.
    response.write Str_Lingua
    if(Str_Lingua="it")then
    ' Ho inserito questo response.write per vedere se il cookie ha valore it
    Response.write ("cookie italiano")
    %>
    
    <%
    Elseif(Str_Lingua="en")then
    ' Ho inserito questo response.write per vedere se il cookie ha valore en
    Response.write ("cookie americano")
    %>
    
    <%
    Elseif(Str_Lingua="es")then
    ' Ho inserito questo response.write per vedere se il cookie ha valore es
    Response.write ("cookie messicano")
    %>
    
    <%
    Elseif(Str_Lingua="")then
    ' QUESTO E' QUELLO CHE MI STAMPA A VIDEO, QUINDI IL COOKIE NON VIENE LETTO O MEGLIO Str_Lingua NON HA NESSUN VALORE.
    Response.write ("il cookie non ha nessun valore")
    %>
    ' Il file intercettare_lingua.asp funziona bene e non e' altro che un codice per prelevare la lingua del browser.
    
    <%
    End if
    %>
    Potresti essere cosi' gentile da farmi capire dove sbaglio?

    Grazie anticipatamente...
    Grassoft
    ME VALE MADRE

  7. #7
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Se non metti la scadenza al cookie, si cancella quando chiudi il browser.
    L'hai messa la scadenza?

    Roby

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2004
    Messaggi
    16
    Originariamente inviato da Roby_72
    Se non metti la scadenza al cookie, si cancella quando chiudi il browser.
    L'hai messa la scadenza?

    Roby
    Ciao,
    quello che ho inserito e' il seguente codice:
    codice:
    response.cookies("lingua") = lingua
    response.cookies("lingua").Expires = dateAdd("yyyy",1, date())
    response.cookies("lingua").Secure = true
    Non mi dire che al posto di yyyy devo scrivere l'anno di scadenza?
    Gia' comincio a sospettare che e' cosi', cmq per fapirci un pochino di +.
    Se metto 2007, mi dovro' ricordare che alla fine del 2007 devo aggiornare lo script?
    Non c'e' un modo che il cookie duri un anno dal momento che l'utente viene scritto nel pc client?
    Per favore qualche delucidazione in + perche' non mi sto rendendo conto come funziona questa parte.
    Grazie infinite.
    Grassoft
    ME VALE MADRE

  9. #9
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    No devi lasciare "yyyy"

    Roby

  10. #10
    Utente di HTML.it
    Registrato dal
    Jul 2004
    Messaggi
    16
    Originariamente inviato da Roby_72
    No devi lasciare "yyyy"

    Roby
    Non capisco come mai non funzioni.

    Mi stampa a video "il cookie non ha nessun valore"
    ovviamente perche' ho aggiunto Response.write ("il cookie non ha nessun valore")
    Quindi questo vuol dire che appunto il cookie non contiene nessun valore o mi sbaglio?

    Ma selezionando una lingua dovrebbe aprirsi l'ultima lingua selezionata e visualizzarmi a video cookie italiano, spagnolo o americano dipendendo dalla lingua lasciata.
    Help meeeeeeeeee
    ME VALE MADRE

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.