Visualizzazione dei risultati da 1 a 9 su 9

Discussione: Aiuto codice

  1. #1
    Utente bannato
    Registrato dal
    Sep 2004
    Messaggi
    115

    Aiuto codice

    Con il seguente codice do la possibilità ad un utente iscritto, ma che ha dimenticato i suoi dati di login, di ricevere via mail i dati persi.
    Ho già creato un listato con un form che ricupera l'indirizzo e-mail ("email") e lo invia alla seguente pagina.
    Non ho ancora inserito il codice per inviare la mail con CDONTS, ora il mio problema è impostare il codice in modo che :
    - se la funzione invalidEmail è TRUE mi esca scritto "è mail non corretta"
    - se la funzione noMail è TRUE mi esca scritto "mail non presente nel database"
    - se quanto detto sopra è corretto mi esca scritto "i dati sono stati spediti alla tua mail" come scritto in formato html.

    Parte ho cercato di scriverlo inserendo dei response.write ma non riesco ad inserire le condizioni if e then in modo corretto.

    Ecco il codice che uso e che voglio modificare come detto sopra.

    Ciao.



    <%
    ' Apre la connessione al db
    dim Con
    Set Con = Server.CreateObject( "ADODB.Connection" )
    Con.Open "accessDSN"

    email = Request.Form("email")

    'cambia le eventuale virgolette dei dati inseriti in doppie virgolette per non mandare il db in crash
    FUNCTION fixQuotes( theString )
    fixQuotes = REPLACE( theString, "'", "''" )
    END FUNCTION

    ' controlla la corretta digitazione della mail con . e @
    FUNCTION invalidEmail( email )
    IF INSTR( email, "@" ) = 0 OR INSTR( email, "." ) = 0 OR INSTR( email, " " ) <> 0 THEN
    invalidEmail = TRUE
    ELSE
    invalidEmail = FALSE
    END IF
    END FUNCTION

    'controlla se esiste l'indirizzo mail inserito
    FUNCTION noMail( email )
    sqlString = "SELECT user_email FROM users " &_
    "WHERE user_email='" & fixQuotes( email ) & "'"
    SET RS = Con.Execute( sqlString )
    IF RS.EOF THEN
    noMail = TRUE
    ELSE
    noMail = FALSE
    END IF
    RS.Close
    END FUNCTION

    'verifica inserimente mail
    IF invalidEmail( email ) THEN
    Response.Write ("Non hai inserito un indirizzo e-mail valido; controlla che non ci siano spazi vuoti")
    END IF

    ' verifica della presenza nel db della mial
    IF noMail( email ) THEN
    Response.Write ("Indirizzo non presente, controlla.")
    END IF
    %>
    <HTML>
    <HEAD>

    </HEAD>
    <BODY>

    Abbiamo spedito all'indirizzo e-mail i tuoi dati di login

    </BODY>
    </HTML>
    <%

    Con.Close
    Set Con = Nothing

    %>

  2. #2
    Utente di HTML.it L'avatar di fiber81
    Registrato dal
    Oct 2002
    Messaggi
    328
    Se ho capito bene...
    codice:
    If invalidEmail( email ) Then 
    Response.Write ("Non hai inserito un indirizzo e-mail valido; controlla che non ci siano spazi vuoti")
    ElseIf noMail( email ) Then
    Response.Write ("Indirizzo non presente, controlla.") 
    Else
    'Invia la mail
    Response.write("Mail inviata correttamente.")
    END IF
    Quando posti del codice metti i tag code, è più semplice leggere..
    Ci sono 10 tipi di persone al mondo, quelli che conoscono la numerazione binaria e quelli che non la conoscono!

  3. #3
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Se la email la recuperi dal db a cosa ti serve sapere se sia corretta o meno?
    Questo controllo devi farlo quando la inserisci la prima volta non quando la recuperi.
    In quello che serve a te ora devi solo verificare che l'email inserita nel form dall'utente sia presente o meno nel db.
    L'altro controllo è superfluo.

    Roby

  4. #4
    Utente di HTML.it L'avatar di fiber81
    Registrato dal
    Oct 2002
    Messaggi
    328
    Roby hai ragione, sul controllo della validità della mail sono d'accordo, ma sul fatto di verificare che la mail esista o no, come fai a recuparere login e passord se non hai la mail?
    Ci sono 10 tipi di persone al mondo, quelli che conoscono la numerazione binaria e quelli che non la conoscono!

  5. #5
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    La persona nel form deve inserire una email. Se non è valida o non è presente nel db è la stessa cosa!
    Solo se presente (e quindi implicitamente valida perché controllata in inserimento) puoi recuperare user e password.

    Roby

  6. #6
    Utente di HTML.it L'avatar di fiber81
    Registrato dal
    Oct 2002
    Messaggi
    328
    Era quello che volevo dire....
    Già che ci sei puoi dare una occhiata a questo thread e darmi un consiglio:
    http://forum.html.it/forum/showthrea...hreadid=719788
    Grazie
    Ci sono 10 tipi di persone al mondo, quelli che conoscono la numerazione binaria e quelli che non la conoscono!

  7. #7
    Utente bannato
    Registrato dal
    Sep 2004
    Messaggi
    115
    Si, il codice che mi avete inviato è come mi serviva, grazie.

    In effetti il controllo sulla esistenza o meno della mail non è basilare.

    Volevo sapere inoltre se è possibile formattare il contenuto del "Response.Write" in formato html...ad esempio:
    - invece che scrivere semplicemente "Non hai inserito un indirizzo e-mail valido; controlla che non ci siano spazi vuoti", vorrei inserire un listato html con all'inreno anche una foto di errore.

    Come fare?

    Ciao e grazie ancora

  8. #8
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    codice:
    <%
    response.write ("[img][/img]<span style=""font-weight:bold;"">Non hai inserito un indirizzo e-mail valido; controlla che non ci siano spazi vuoti</span>")
    %>
    Roby

  9. #9
    Utente bannato
    Registrato dal
    Sep 2004
    Messaggi
    115
    Grazie mille roby, ora credo di essere a posto!

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.