Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    684

    non vede la variabili session ma solo le query

    Nella prima pagina, inseirsco i dati e cliccando su vari link, creo una collection di dati cosi' composta: 1,4,2,6,8

    a questa collection assegno la variabile di sessione

    session("PROVA")

    poi mi sposto nella seconda pagina, qui il codice inizia:
    codice:
    ...
    <script runat=server language=vbscript>
    
    sub aggiungiArticolo()
    
    ...
    aggiungo dopo il sub:
    prova = split(request.querystring("prova"),",")
    lo script processa i dati 1,2,3,4 solo se sono contenuti in una variabile "semplice", ovviamente passata dalla pagina precedente.

    ma se provo dopo il sub:
    articoli = split(session("prova"),",")

    non mi vede nulla...
    come posso ovviare? grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    684
    Spero di essere stato chiaro.

    UP

    la session le memorizza lato cliente ed ioi per processare i dati ho bisogno di passarle lato server?

    Come posso fare?

  3. #3
    Spiegati meglio....
    Le session sono oggetti server e non puoi memorizzarle lato client...

    Vediamo il codice di come memorizzi le session.
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    684
    pagina CATALOGO.asp
    contiene una lista di record paginati presi tramite connessione ADO da un database. Per ogni ciclo corrisponde un link che rimanda alla stessa pagina passando un valore:

    aggiungi al carrello

    ok con questo controllo, l'esistenza e aggiungo in caso quantità 0.

    codice:
    'controllo della variabile
    IF request.querystring("articoli") <> "" THEN
    	'controllo della variabile session
    	IF session("IDFILM") = "" THEN
    	session("IDFILM") = request.querystring("articoli")
    	ELSE
    		contenuto = session("IDFILM")
    		Function QuantitaSegno(colonna, segno)
    			Dim objRegExpr
    			Set objRegExpr = New RegExp
    			objRegExpr.Pattern = segno
    			objRegExpr.IgnoreCase = TRUE
    			objRegExpr.Global = TRUE
    			Dim colMatches
    			Set colMatches = objRegExpr.Execute(colonna)
    			QuantitaSegno = colMatches.Count
    		End Function
    
    		strColonna = contenuto
    		strSegno = request.querystring("articoli")
    
    		response.write "Del codice " & strSegno & " hai trovato quantità: " & QuantitaSegno(strcolonna, strSegno) & "
    "
    		
    		IF QuantitaSegno(strcolonna, strSegno) = 0 THEN
    		session("IDFILM") = session("IDFILM") + "," + strSegno
    		ELSE
    		response.write "Il film e' presente nel carrello!" & "
    "
    		END IF
    	
    	END IF
    END IF
    ecco qui. sto impazzendo...

  5. #5
    Se usi VBscript, questo codice:

    codice:
    session("IDFILM") = session("IDFILM") + "," + strSegno
    deve diventare:

    codice:
    session("IDFILM") = session("IDFILM") & "," & strSegno
    Vedi se è questo il problema.
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  6. #6
    in vbscript per concatenare le stringhe puoi usare sia & che +

    in qualche occasione anch'io ho avuto dei problemi di visibilità nelle chiamate tra blocchi di codice dichiarati con i tag script (runat server ovviamente), ma non ne ho capito il motivo.
    nel tuo caso prova a mettere dei response.write nei vari punti del flusso del programma per vedere se e da dove passa e se le variabili lì sono valorizzate o meno
    xxx

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    684
    Aggiungo la routine vb completa, che si trova nella pagina carrello.asp che processa i dati.

    codice:
    <script runat=server language=vbscript>
    
    sub aggiungiArticolo()
    
    'Cosi' funziona
    articoli = split(request.querystring("articoli"),",")
    'Così no
    articoli = split(session("IDFILM"),",")
    session("IDFILM") = ""
    
    'Questa routine aggiunge un nuovo articolo al carrello
    
    'Se il carrello non è vuoto devo verificare
    'se i nuovi articoli sono già presenti
    
    if presenti=1 then
    			
    	for art=0 to ubound(articoli)
    			
    	trovato=false
    			
    	for righe=0 to ubound(carrello,2)
    			
    		if clng(carrello(0,righe))=clng(articoli(art)) then
    			trovato=true
    			righe=ubound(carrello,2)+1
    		end if
    			
    	next
    			
    	if trovato=false then
    		'righe=ubound(carrello,2)
    		redim preserve carrello(1,righe)
    		carrello(0,righe)=articoli(art)
    		carrello(1,righe)=1
    	end if
    				
    	next
    		
    else
    	redim carrello(1,nuoviArt-1)
    	for c=0 to nuoviArt-1
    		carrello(0,c)=articoli(c)
    		carrello(1,c)=1
    	next
    end if
    		
    presenti=1
    
    end sub
    Chiedo se qualcuno gentilmente potrebbe aiutarmi.

    Ho pensato che potrei ovviare inquesto modo. Se al pulsante "VEDI CARRRELLO" assegno questo:
    vedi carrello

    quindi assegno alla variabile sessione il contenuto della session?
    in seguito prelevo dalla pagina carrello la query session
    e svuoto la variabile session: session("IDFILM") = ""

    Potrebbe andare?

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    684
    ho risolto assegno ad una semplice variabile collezioni=session("IDFILM"). Ovviamente alla session IDFILM sosituisco le "," con "&dati=".

    Al momneto che uno clicca su vai sul carrello, inserisco questo link:
    ...

    questa la leggo con la pagina carrello e dopo riassegno alla session("IDFILM") il contenuto della session session("carrello").

    Infatti devo controllare se l'utente, nella pagina carrello, inserisce articoli con ID simile e tramite una requestQuestion gli nego di aggiungere alla session articoli con ID uguali.

    Che fatica...

    p.s. ultima cosa passando la collezione in questo modo visualizzo nella pagina carrello nella pagina degli indirizzi la query come posso ovviare? devo per forza inserire un form con campo nascosto e nome collezione e pulsante submit value vai al carrello?
    oppure tramite javascript o asp posso nascondere il contenuto della barra degli indirizzi? contenente la query?
    Se si puo' nascondere mi potete dare un consiglio in merito?

    grazie :master:

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.