Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2003
    Messaggi
    28

    AIUTO... :(

    Stò impazzendo...novellino di asp
    Ho un form per l'iscrizione ad un sito, classico; nome, cognome, username email e password.

    Funziona tutto, ma mi occorre inserire un controllo sui campi "username" e "email" in modo che se i dati inseriti esistono già nel db (access) l'inserimento nel db non avvenga e l'utente legga qualcosa tipo:

    "username" oppure "password" già in uso.

    e possa così inserire dati diversi.

    Chi mi puo' aiutare?
    Grazie mille.

  2. #2
    apri la connessione al database

    sql="SELECT user,pwd FROM utenti where user ='" & request.form("user_dal_modulo") & "' and pwd ='" & request.form("pwd_dal_modulo") & "'"

    apri il recordset


    <%
    if not rs.eof then
    response.redirect(pagina_che_vuoi.asp)
    else
    response.write ("utente già registrato")
    %>
    Indietro
    <%
    end if
    %>

    puoi anche fare un controllo su user e pwd vedendo che non siano nulle

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2003
    Messaggi
    28
    Originariamente inviato da gensole
    apri la connessione al database

    sql="SELECT user,pwd FROM utenti where user ='" & request.form("user_dal_modulo") & "' and pwd ='" & request.form("pwd_dal_modulo") & "'"

    apri il recordset


    <%
    if not rs.eof then
    response.redirect(pagina_che_vuoi.asp)
    else
    response.write ("utente già registrato")
    %>
    Indietro
    <%
    end if
    %>

    puoi anche fare un controllo su user e pwd vedendo che non siano nulle

    Grazie Gensole,
    ma avrei due problemi.
    1 - Ho inserito il codice che mi hai scritto, ma un errore mi chiede qualcosa tipo:

    Errore di run-time di Microsoft VBScript (0x800A01A8)
    Necessario oggetto: "
    e questo dovrebbe essere all'inizio della riga

    if not rs.eof then

    --------------------------------------------------------------

    2- io ho due pagine, una dove risiede il form, form.asp l'altra, "grazie.asp" è una pagina dove vengono passati i dati del form. Questa pagina inserisce in db i dati (per adesso senza il controllo di cui sopra), crea l'output di una frase tipo "Gentile nome_utente etc etc..." e infine manda una mail all'utente con i dati che ha inserito.
    Ora, il codice per il controllo che mi hai cortesemente descritto, lo dovrei inserire nella pagina form.asp, magari al termine del form, oppure nella pagina di ricezione, grazie.asp, all'inizio, prima che i dati vengano inseriti in db se passati al controllo?

    Grazie mille

  4. #4
    1)Hai aperto il recordset?

    2)Nella pagina che recupera i dati.
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  5. #5
    prima di fare le cose almeno una infarinatura di asp bisognerebbe averla...leggiti i tutorial di freeasp e una pagina di login la fai in 5 minuti

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2003
    Messaggi
    28
    Originariamente inviato da maximum
    1)Hai aperto il recordset?

    2)Nella pagina che recupera i dati.
    recordset aperto ma l'errore continua, vuole un doppio apice prima dell'if...

  7. #7
    Non ha senso...
    Potresti postare tutto il codice della pagina completa?
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2003
    Messaggi
    28
    Originariamente inviato da maximum
    Non ha senso...
    Potresti postare tutto il codice della pagina completa?
    grazie mille, ho risolto in altro modo.

  9. #9
    Utente di HTML.it
    Registrato dal
    Dec 2003
    Messaggi
    28
    Ciao a tutti,
    rieccomi qui. Come dicevo ho risolto il problema, ma testando il lavoro, mi sono imbattuto in un altro problema.
    Se inserisco uno username avente un apostrofo, ad esempio web'night
    il controllo che eseguo su quel campo, mi torna un errore, esattamente questo:

    [Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'username ='web'night' or email ='webnight@pippo.it''

    è chiaro il tipo di errore, manca un operatore, ma quale tipo di controllo è da fare, se è possibile farlo?


    Il controllo che eseguo è questo:

    <%
    Dim path, objCon, objRs, strSql2
    path = "database.mdb"
    Set objCon = Server.CreateObject("ADODB.Connection")
    objCon.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.MapPath(path)
    Set objRs = Server.CreateObject("ADODB.Recordset")
    strSql2 = "SELECT username, email FROM utenti where username ='" & request.form("username") & "' or email ='" & request.form("email") & "'"
    objRs.Open strSql2, objCon
    if not objRs.EOF then
    response.redirect("utko.asp")
    objRs.Close
    end if
    %>

    Grazie a tutti.
    Buona serata

  10. #10
    Devi fare il replace dell'apice:

    codice:
    <%
    Dim path, objCon, objRs, strSql2
    path = "database.mdb" 
    Set objCon = Server.CreateObject("ADODB.Connection") 
    objCon.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.MapPath(path) 
    Set objRs = Server.CreateObject("ADODB.Recordset")
    strSql2 = "SELECT username, email FROM utenti where username ='" & replace(request.form("username"), "'", "''") & "' or email ='" & replace(request.form("email"), "'", "''") & "'"
    objRs.Open strSql2, objCon
    if not objRs.EOF then
    response.redirect("utko.asp") 
    objRs.Close 
    end if 
    %>
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

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.