34 messaggi dal 19 aprile 2001
Salve a tutti avrei un quesito da risolvere: ho un modulo registrazione ove chi si iscrive decide tra le altre cose anche Username e Password, io vorrei vi sia un controllo che avverta l'utente se ha inserito un'username già esistente nel database, tutto quà solo che non riesco a farlo.

Questo è il codice della pagina ove inserisce i dati nel DB:

<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("..\mdb-database\metrogiovani.mdb")%>

<%
Set RecSet = Server.CreateObject("ADODB.Recordset")
Addera = "SELECT * FROM password"

RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic

RecSet.AddNew

RecSet("responsabili") = Replace(Server.HTMLEncode(Request.Form("responsabili")), chr(13), "<BR>", 1)
RecSet("collaboratori") = Replace(Server.HTMLEncode(Request.Form("collaboratori")), chr(13), "<BR>", 1)
RecSet("email") = Request.Form("email")
RecSet("user") = Request.Form("user")
RecSet("password") = Request.Form("password")
RecSet("indirizzo") = Request.Form("indirizzo")
RecSet("citta") = Request.Form("citta")
RecSet("cap") = Request.Form("cap")
RecSet("provincia") = Request.Form("provincia")
RecSet("tel") = Request.Form("tel")
RecSet("fax") = Request.Form("fax")
RecSet("internet") = Request.Form("internet")
RecSet("servizi") = Replace(Server.HTMLEncode(Request.Form("servizi")), chr(13), "<BR>", 1)
RecSet("orario") = Replace(Server.HTMLEncode(Request.Form("orario")), chr(13), "<BR>", 1)
RecSet("attivita") = Replace(Server.HTMLEncode(Request.Form("attivita")), chr(13), "<BR>", 1)
RecSet("news") = Replace(Server.HTMLEncode(Request.Form("news")), chr(13), "<BR>", 1)
RecSet("data")= date()

RecSet.Update
RecSet.Close


Connect.Close %>
<%
response.redirect("congratulations.asp")
%>


Aiutatemi per favore... grazie a tutti in anticipo.


Prima della scrittura fai un controllo tipo:

set CheckPwd=server.createobject("ADODB.Recordset")
qCheck="SELECT * FROM password WHERE user='"&user&"'"
CheckPwd.open qCheck,Connect,1,1
if CheckPwd.eof then
...il tuo codice che scrive...
end if
CheckPwd.close
set CheckPwd=nothing


---[ www.digiscout.it ]---

"This message was written using 100% recycled electrons"
725 messaggi dal 31 agosto 2001
Crei una bella funzione:

function getusername(username)

sql="SELECT campo_username FROM tabella WHERE campo_username='" & username & "'"

set rs = conn.execute(sql)
if rs.eof then
getusername = false
else
getusername = true
end if
rs.close

end function

In caso controlla la variabile sulla stringa sql per fare in modo di raddoppiare eventuali apici che creano problemi...

Luca - Web developer
<b>Tutto è complesso prima di essere semplice</b>
34 messaggi dal 19 aprile 2001
Grazie delle risposte ma non essendo esperto trovo difficoltà ad applicare i vostri suggerimenti, come faccio per modificare il mio codice con i vostri consigli??

Scusate e grazie ancora...

725 messaggi dal 31 agosto 2001
Quando recuperi il valore dell'username del form effettui questa operazione:

username = TRIM(request.form("nome_textbox_username"))

Prima di effettuare la query di inserimento fai un controllo di questo tipo sulla variabile:

if getusername(username) then
response.write "Nickname gia presente"
end if


resto del codice....

Ovviamente avrai gia effettuato la connessione al database...

Luca - Web developer
<b>Tutto è complesso prima di essere semplice</b>
34 messaggi dal 19 aprile 2001
Ok grazie mille Luxet .... grazie a tutti.

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.