Newsgroup: it.comp.www.asp
Titolo: Ma che casini combina Netscape con le Session("...") ???

Ciao a tutti.
Pochi giorni fa ho proposto al NG un problema riguardo ad una differenza da
me riscontrata tra IE e NS.
Ho dato una sistematina per migliorare il codice. Ma il problema non e'
cambiato, e forse questa volta ho capito dove sta l'errore ma non so
risolverlo !!!
Premetto che Internet Explorer 5 e Opera 3.51 vanno PERFETTAMENTE.
Mentre Netscape 4.7 NO !
In pratica facendo un debugging "manuale" inserendo dei <% = variabile
%><BR> nel codice html, ho notato che nelle operazioni di paging del mio
motore di ricerca che sto costruendo, netscape non "ricorda" la variabile
Session("MySQL") che e' necessaria per evitare di dovere ricostruire
l'intera query ogni volta che cambio pagina.
Ecco.. io stavo pensando.. "Pero'.. potrebbe essere che solo Internet
Explorer riconosce la Session_OnStart e le variabili Session relative a
cio'.."
Poi fortunatamente mi sono subito reso conto della mia idiozia. Dato che e'
il server che gestisce tutto il codice ASP, non c'entra assolutamente niente
il browser che USO !!!
Quindi infine vedendo che sia IE che Opera non mi danno problemi in fase di
browsing, sono giunto alla FORSE unica soluzione che Netscape quando cambia
pagina dei risultati della ricerca, lancia una nuova Session !!!! E quindi
la var Session("MySQL") viene reinizializzata in global.asa !!! e quindi
perdo la query che mi ero costruito con quindi effetti catastrofici !!
ecco un po' di codice:
global.asa
**********
<SCRIPT LANGUAGE=VBScript RUNAT=Server>
Sub Session_OnStart
 Session("MySQL") = ""
End Sub
</SCRIPT>
**********
file.asp
**********
<%
If Session("MySQL") = "" Then
'CONTROLLO CHE SE SONO ALLA
'PRIMA PAGINA DEI RISULTATI
'MI DEVO ANCORA COSTRUIRE
'LA QUERY !!!
....
'E QUANDO L'HO COSTRUITA LA
'ASSEGNO ALLA VAR DELLA SESSION
Session("MySQL") = MainSQL
Else
MainSQL = Session("MySQL")
'ELSE VIENE ESEGUITO SE NON SONO
'ALLA PRIMA PAGINA. E QUINDI LA
'SESSION CONTIENE LA QUERY CHE
'ASSEGNO ALLA VAR LOCALE
eccetera eccetera.....
**********
In pratica, (come ho anche provato debuggando con <% = Session("MySQL") %> )
ho visto che netscape alla prima pagina di risultati e' tutto OK !
Mentre quando passo alla seconda pagina di risultati, la variabile
Session("MySQL") diventa nuovamente uguale a "" e il motore cerca di
ricostruire la query, ma dato che manca il post dalla form dell'index la
query viene costruita in modo sbagliato e non funziona piu' niente !!!
Ovviamente mi potreste dire di ripostare tutti i parametri della ricerca con
un bel post hidden.. ma io voglio capire perche' netscape si comporta in un
modo cosi' "assurdo".
Ecco infine la piccola form che uso per avanzare di pagina.. comunque mi
sembra corretta e non credo che il problema sia qui...
**********
<FORM METHOD="post" ACTION="file.asp">
<INPUT TYPE="hidden" NAME="linksperpage_" value="<% = LinksPerPage %>">
<INPUT TYPE="hidden" NAME="pagenumber_" value="<% = PageNumber+1 %>">
<INPUT TYPE="submit" VALUE="Next Page...">
</FORM>
**********
Grazie a TUTTI e vi prego di scusarmi per il disturbo.
Fabio.

 Fabio.
Ciao, Fabio Zed Zamparelli

 dalla tecnologia cookie lato browser.
Avevi perfettamente ragione, in NS avevo disabilitato i cookies.. ma ora
penso ad una cosa.. in quanto il mio motore di ricerca dovrebbe avere un
utenza a livello mondiale con configurazioni e browser di tutti i tipi
(anche se poi avro' al massimo UNA visita al giorno.. la MIA ;) devo
abbandonare le var Session ??? se in pratica non ho capito male, se non si
ha la certezza (ad esempio su una rete interna) che tutti i browser
abilitino i cookies, e' da evitare assolutamente l'uso delle Session() !
Mi pare una limitazione piuttosto forte, non trovi ?
E magari mi potresti anche illuminare.. un attimino.. dato che mantenere la
query SQL nella Session non mi va piu' bene, me la devo ricostruire ad ogni
Pagina, passando sempre come hidden, tutti i campi della prima form del
motore di ricerca.. non ho altra scelta, giusto ??
Grazie, sei un Dio !
--
Fabio - fabio(at)
privacy.nu
... gli schiavi dell'Egitto traevano piacere
a costruire le tombe di chi stava al potere...

 Grazie, sei un Dio !
Non esagerare, sono solo uno che qualche tempo fa era nelle tue stesse
condizioni e che crede fermamente nella condivisione delle conoscenze e nei
NG.
Ciao, Fabio Zed Zamparelli