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

    Mantenere la query nel cambio lingua

    Ciao a tutti,
    ...premetto che sono un neofita ASP e che mi sto arrangiando (vado un pò "a naso", quindi chiedo anticipatamente scusa sulla pertinenza e l'ovvietà delle mie domande...)

    Ho una pagina di articoli/prodotti in due lingue, in cui ho implementato il cambio lingua usando le sessioni; il tutto funziona perfettamente. Ora ho la necessità di mantenere la querystring insieme alla sessione "lang" per il cambio lingua. Ho provato il seguente codice:


    &lang=ita">italiano |
    &lang=eng">english</span>

    Ma ovviamente, ogni volta che clicco sul link "italiano" o "english" mi aggiunge sempre un "&lang=eng" o un "&lang=ita" in coda, quindi non funziona.
    Dove sto sbagliando?
    Love&Peace

  2. #2
    Sbagli che nella queryString precedente c'è già il parametro della lingua...
    ... al limite fai una replace, togli lang=eng e metti lang=it e viceversa.

  3. #3
    Originariamente inviato da Mems
    Sbagli che nella queryString precedente c'è già il parametro della lingua...
    ... al limite fai una replace, togli lang=eng e metti lang=it e viceversa.
    Ciao Mems e grazie per la risposta...

    ...mmm, perdona la mia ignoranza ma non ho capito.

    Nella queryString precedente non c'è il parametro Lingua; cioè ad esempio, se dalla pagina Home in cui magari ho selezionato la lingua ENG (e quindi l'url si presenta come ".../index.asp?lang=eng") passo alla pagina Products, l'url di quest'ultima diviene ".../products.asp"; senza parametri della sessioneLingua.

    Se ora, dalla pagina "products.asp", seleziono un prodotto, mi si aggiunge giustamente la stringa d'interrogazione al db ".../products.asp?id=xxx" andando a visualizzare la pagina correttamente.

    Quindi, se seleziono l'altra lingua mi si aggiunge "&lang=eng". E la prima volta va bene, ma se poi provo a cambiare lingua di nuovo mi si accodano "&lang=ita", "&lang=eng", ecc...

    Ho fatto dei tentativi con dei Replace o delle strutture If...Else, ma sto certamente sbagliando...

    ogni suggerimento è gradito... (della serie "aiuuutaaateee un povero disgraziato")
    Love&Peace

  4. #4
    codice:
    <%
    qString = request.serverVariables("QUERY_STRING")
    coppie = split(qString,"&")
    for i = 0 to uBound(coppie)
    temp = split(coppie(i),"=")
    if temp(0) = "lang" then 
    if temp(1) = "ita" then lng = "eng"
    if temp(1) = "eng" then lng = "eng"
    newQString = newQString & "lang=" & lng
    else
    newQString = newQString & coppie(i)
    end if
    if i < uBound(coppie) then newQString = newQstring & "&"
    next
    response.write newQString
    %>

  5. #5
    Originariamente inviato da Mems
    codice:
    <%
    qString = request.serverVariables("QUERY_STRING")
    coppie = split(qString,"&")
    for i = 0 to uBound(coppie)
    temp = split(coppie(i),"=")
    if temp(0) = "lang" then 
    if temp(1) = "ita" then lng = "eng"
    if temp(1) = "eng" then lng = "eng"
    newQString = newQString & "lang=" & lng
    else
    newQString = newQString & coppie(i)
    end if
    if i < uBound(coppie) then newQString = newQstring & "&"
    next
    response.write newQString
    %>
    Correggo un errore:
    codice:
    if temp(1) = "ita" then lng = "eng"
    if temp(1) = "eng" then lng = "ita"

  6. #6
    Ciao, ...Mems ti chiedo scusa ma non ci sto riuscendo.

    Il codice che mi hai scritto lo devo inserire dopo "articles.asp?", in tutte e due i link "italiano" e "english"?

    ...ti autorizzo ad insultarmi...
    Love&Peace

  7. #7
    codice:
    <%
    function setValueOnQString(theQString,theParameter,theValue)
    	if inStr(theQString,"&") > 0 then
    		couples = split(theQString,"&")
    			for i = 0 to uBound(couples)
    				temp = split(couples(i),"=")
    					if temp(0) = theparameter then 
    						newQString = newQString & theParameter & "=" & theValue
    					else
    						newQString = newQString & couples(i)
    					end if
    				if i < uBound(couples) then newQString = newQstring & "&"
    			next
    	elseIf inStr(theQString,"=") > 0 then
    		couple = split(theQString,"=")
    			if couple(0) = theParameter then
    				newQString = newQString & theParameter & "=" & theValue
    			else
    				newQString = newQString & couple
    			end if
    	end if
    	setValueOnQString = newQString
    end function
    
    qString = request.serverVariables("QUERY_STRING")
    if len(qString) = 0 then qString = "lang="
    %>
    ">italiano |
    ">english

  8. #8
    ...graaaaaaaaandisssimoooooo!!!

    Grazie mille dell'aiuto...

    Paolo
    Love&Peace

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.