Ho preso due pagine.asp, ovvero una guida, e le sto adattando alle mie esigenze.

Vi presento il problema.
catalogo.asp
Originariamente lo script prevedeva di inviare tramite form il campo ID di un determinato articolo checckando un checkbox con valore name="articoli" alla pagina carrello.asp. All'interno di questo form gli articoli sono stampati a video ciclando i record di un database.

carrello.asp
Questa pagina tramite il comando:
codice:
articoli = split(request("articoli"),",")
crea l'array con la collection di valori.

FIN QUI TUTTO OK.

Io ho modificato il tutto, perche' nel mio caso devo paginare i record su più pagine e, correggetemi se sbaglio, se l'utente checcka su due checkbox nella 1° pagina e va alla pagina successiva perdo quei campi. Ora ho pensato di sostituire al campo checkbox un link, eliminando il form, che fa riferimento alla stessa pagina passando la variabile con quel valore e inserendola all'interno di una variabile sessoion. In questo modo anche cambiando pagina i valori non vengono persi.
Quindi, stando nella pagina catalogo.asp ogni link generato dal ciclo avrà come link "catalogo.asp?articoli=<%=rs("ID")%>"
Al refresh della pagina aggiungo il valore contenuto nella variabile ad una variabile session in questo modo:
codice:
IF session("articoli") = "" THEN
session("articoli") = request.querystring("articoli")
ELSE
session("articoli") = session("articoli") + "," + request.querystring("articoli")
END IF
Poi ho inserito un pulsante che mi porta alla pagina carrello.asp
Qui ho modificato poche linee di codice della pagina carrello.asp che qui riporto:
ORIGINALE:
codice:
articoli = split(request("articoli"),",")
MODIFICATO:
codice:
articoli = split(session("articoli"),",")
l'altra parte di codice, verifica se ci sono nuovi articoli da inserire.
originale:
codice:
' Verifico se l'utente ha chiesto di svuotare il carrello
IF request("articoli") = "Svuota Carrello" THEN
presenti = 0
session("carrello") = null
ELSE
'verifica se ci sono nuovi articoli da inserire
nuoviArt = request("articoli").count
if nuoviArt > 0 then AggiungiArticolo
END IF
modificato:
codice:
' Verifico se l'utente ha chiesto di svuotare il carrello
IF request("articoli") = "Svuota Carrello" THEN
presenti = 0
session("carrello") = null
ELSE
'verifica se ci sono nuovi articoli da inserire
conteggioArt = split(session("articoli"),",")
nuoviArt = 0
for x = 0 TO UBOUND(conteggioArt)
nuoviArt = nuoviArt +1
next
if nuoviArt > 0 then AggiungiArticolo
END IF
Facendo se clicco nella pagina catalogo.asp su dei prodotti e dopo vado nella pagina carrello.asp tutto ok, anche modifico quantità o elimino prodotti.
Ma se vado nella pagina catalogo.asp nuovamente e seleziono un altro articolo e poi vado nella pagina carrello.asp mi da questo errore:
Errore di run-time di Microsoft VBScript (0x800A000D)
Tipo non corrispondente: 'clng'
/sexydvd/carrelloprova.asp, line 69

ecco la parte di codice in questione con la linea in question in rosso:
codice:
<script runat=server language=vbscript>

sub aggiungiArticolo()

'Questa routine aggiunge un nuovo articolo al carrello

'articoli=split(request("articoli"),",")
articoli = split(session("IDFILM"),",")
		

'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
...
la variabile di sessione e': session("IDFILM") e non session("articoli") scusate, e' solo una precisazione..

Questo dovrebbe essere javascript.
Non sono molto ferrato in materia e Vi chiedo aiuto.
Grazie, sono bloccato e non posso andare avanti...