Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Scadenza o errore delle Sessioni???

    Salve a tutti: il mio problema odierno è il seguente.

    Ho voluto far si che il mio sito disponga di 2 lingue, italiano (principale) e inglese utilizzanto le LCID 1040 (ita) e 1033 (ingl).

    Io apro il sito e di predefinito inserito nel global.asa setto la lingua italiana, così:

    <SCRIPT LANGUAGE = "VBScript" RUNAT=Server>
    Sub Session_OnStart
    Session.LCID=1040
    End Sub
    </SCRIPT>

    inoltre ho impostato la scadenza delle sessioni sempre nel global.asa così:

    <SCRIPT LANGUAGE = "VBScript" RUNAT=Server>
    Sub Session_OnStart
    session.expire = Now() + 1000
    End Sub
    </SCRIPT>

    Quindi, quando entro nel sito tutto è in italiano e nn da problemi. Al momento che cambio lingua però entro in una pagina che dovrebbe a questo punto essere in inglese, ma è tornata in italiano.

    Quando clicco sul cambio di lingua la pagina va ad una pagina a se stante con questo codice:

    <%
    if request.querystring("lang") <> "" then
    Session.LCID = request.querystring("lang")
    response.redirect "home.asp"
    end if
    %>

    la lingua alla home.asp è cambiata ma poi quanto vado sulla pagina staff.htm eseguita tramite Server.Execute la lingua ritorna l'italiano.

    Nelle pagine tramite un if basato sull'LCID il testo è in italiano o in inglese.

    Può dipendere dal fatto che uso il Server.Execute? Tengo presente che quando sono sulla pagina Staff.htm e clicco da li il cambio a inglese la pagina a quel punto di traduce.

    Sapete darmi qualche idea al riguardo??

    grazie
    Nemesis
    www.slamdunk.it

  2. #2
    sarà l'ora ma mi sembra tutto un po' contorto.


    tanto per iniziare il fatto che torni in italiano potrebbe essere dato dal fatto che le pagine .htm non eseguono session e robe tipicamente ASP e VbScript ... quindi rinominala in ASP... tanto non cambia nulla


    session.lcid lo potresti inserire in una pagina che includi in tutte le pagine sul sito, magari come head, così ti risolvi un sacco di problemi.

    poi la lingua la imposti via cookies, così una volta settata, alla prossima visita hai sempre quella.

    nella pagina inclusa, potresti fare un IF , dove appunto leggi il cookies, se è "inglese" metti il session.lcid 1033, altrimenti il 1040 .



  3. #3
    Non vorrei dire "na cavolata" ma ogni volta che esegui l'Execute è come se aprissi un nuovo browser. In pratica è una nuova sessione e viene eseguito anche il Session_Start del global.asa.

    Mi segui?


  4. #4

    ...

    allora la cosa del nuovo browser l'ho capita. Però quando sono sulla pagina Staff.htm e riclicco su "inglese" la pagina si traduce.

    Nota che la parte di codice relativa al pulsante di cambio lingua è al di fuori del file Staff.htm, ma nella home.asp che rappresenta la cornice del sito praticamente.


    Ragepunk non capisco cosa dici con:
    session.lcid lo potresti inserire in una pagina che includi in tutte le pagine sul sito, magari come head, così ti risolvi un sacco di problemi.

    Se ti potessi spiegare meglio mi faresti un favore.
    Nemesis
    www.slamdunk.it

  5. #5
    Utente di HTML.it L'avatar di Gioba66
    Registrato dal
    Jun 2002
    Messaggi
    2,189
    non credo sia come dice ZOFM: il server.execute usa un altro ambito di memoria rispetto alla pagina chiamante, ma senza creare una nuova sessione: infatti le variabili di sessione definite nella pagina chiamante valgono ancora (ed è proprio il modo con cui si passano di solito i parametri).

    quindi a mio parere l'errore riscontrato da nemesis dipende da qualche controllo errato
    Tutti vogliono parlare, nessuno sa ascoltare.

  6. #6
    Originariamente inviato da Gioba66
    non credo sia come dice ZOFM: il server.execute usa un altro ambito di memoria rispetto alla pagina chiamante, ma senza creare una nuova sessione: infatti le variabili di sessione definite nella pagina chiamante valgono ancora (ed è proprio il modo con cui si passano di solito i parametri).

    quindi a mio parere l'errore riscontrato da nemesis dipende da qualche controllo errato
    Si giusto, non ero sicuro infatti della risposta. Mi sento un pò attapirato


  7. #7
    l'importante è che le idee ci siano ^__^
    Nemesis
    www.slamdunk.it

  8. #8

    ...

    vedo un po' di riordinare il sito e poi controllo le sessioni e tutto il resto. Poi vi faccio sapere
    Nemesis
    www.slamdunk.it

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.