Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16

Discussione: script temporizzato

  1. #1

    script temporizzato

    Salve a tutti,
    vorrei temporizzare il caricamento di una pagina, finchè una variabile non abbia un valore, es:
    codice:
    do while not recordset.eof 
    		if mail <> "" OR mail <> null then 	
    				Dim contrMail
    				contrMail = mail
    				do while not EmailExists <> ""
    					If EmailExists(contrMail) = False Then
       		     			Response.Write("falsa")
    						exit Do
        				Else
    						Response.Write("vera")
    						exit Do
    					end if
    				loop
    recordset.MoveNext
    Loop
    Purtroppo, lo script mi da: Unexpected 'Loop' (l'ultima riga),
    dove sbaglio???

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Non puoi evitare tutti quei loop costruendo una query più adatta?
    La Dim in ogni caso devi metterla fuori da qualsiasi ciclo...

    Roby

  3. #3
    purtroppo, i loop sono questi:
    uno che fa scorrere i recordset,
    mentre l'altro, aspetta che il server gli da una risposta (true/false)

    Se io non temporeggio (mettendo il secondo loop) lo script fa tante richieste al server, e lo manda in tilt.

    potresti indicarmi una soluzione migliore pls???

  4. #4
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    ma cosa fa il secondo loop?

    Roby

  5. #5
    Il secondo loop, fa una richiesta ad un server per vedere se l'indirizzo mail è valido.
    EmailExists è una funziona, dove gli passi un parametro (contMail - indirizzo mail), che controlla la sua esistenza. questa funzione restituisce un booleano.

    codice:
     del secondo loop
    do while not EmailExists (contrMail) <> "" // finche EmailExists non ha un valore
    			If EmailExists(contrMail) = False Then // se valore falso
       		    		Response.Write("falsa")
    				exit Do // esci
        			Else
    				Response.Write("vera")
    				exit Do
    				end if
    			loop
    alla prima riga ho sbagliato, ho corretto adesso :P

  6. #6
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    A me pare che manchi la end if della prima if ... :master:

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  7. #7
    Vabbè, lascia stare la sintassi, il codice è scritto in maniera molto disordinato, l'endif e poco prima del loop.

    Ma un metodo per fare calmare sto benedetto script c'è????

    praticamente devo dire al server: finchè la variabile non acquista un valore, tu cerca, ma non andare avanti.


  8. #8
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Non riesco a capire la complicazione... se la funzione che verifica l'esistenza della mail restituisce un valore a che scopo introdurre un loop? lo restituira' ( e quindi l'elaborazione proseguira') quando avra' terminato il suo compito :master:
    codice:
    Dim contrMail
    do while not recordset.eof 
    	if mail <> "" AND mail <> null then 	
    		contrMail = mail
    		fl_EmailExists = EmailExists(contrMail)
    		If fl_EmailExists = False Then
       			Response.Write("falsa")
    		Else
    			Response.Write("vera")
    		end if
    	end if
    	recordset.MoveNext
    Loop
    Cosa non ho capito?

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  9. #9
    Ok, gioco il Jolly

    codice:
    <%
        Function EmailExists(EmailToTest)
            Dim Tiscali, XMLHTTP
            Tiscali = "http://webservices.tiscali.com/"
            Tiscali = Tiscali & "EmailServices.asmx/IsValidEmail"
            Tiscali = Tiscali & "?email="
            Set XMLHTTP = Server.CreateObject("Microsoft.XMLHTTP")
            XMLHTTP.Open "GET", Tiscali & EmailToTest, False
            XMLHTTP.Send
            If InStr(1, CStr(XMLHTTP.ResponseText), "true") > 0 Then
                EmailExists = True
            Else
                EmailExists = False
            End If
            Set XMLHTTP = Nothing
        End Function
    
    
    %>
    questa è una funzione che contatta il server Tiscali, alla fine EmailExists, avrà un risultato.
    Se lo faccio una volta, ok, ma se lo faccio più volte, il server s'impalla, e quindi vorrei dargli un po di tempo per respirare.

    Un ciclo do while, è velocissimo, mentre il server, è più lento a dare una risposta, immagino sia questo il mio problema...

  10. #10
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Originariamente inviato da DarioMarco
    questa è una funzione che contatta il server Tiscali, alla fine EmailExists, avrà un risultato.
    Se lo faccio una volta, ok, ma se lo faccio più volte, il server s'impalla , e quindi vorrei dargli un po di tempo per respirare.
    Quale dei due, secondo te? se e' il tuo (dubito, vista la sequenza delle operazioni) e' un comportamento anomalo e devi contattare l'assistenza, se e' Tiscali non puoi farci nulla...

    Originariamente inviato da DarioMarco
    Un ciclo do while, è velocissimo, mentre il server, è più lento a dare una risposta, immagino sia questo il mio problema...
    Vedi sopra.

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

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 © 2026 vBulletin Solutions, Inc. All rights reserved.