jag har problem.... Koden du skickade med kollar bara om det finns något i Request.Form("email") och ingen annan validering.registrerings formulär
jag har ett formulär som folk ska kunna registrera sig via och jag vill att innan det godkänns så skall det kollas att alla fälten är ifyllda och samtidigt kolla om e-postadressen redan finns i databasen Jag har fått det att funka som så att antingen kollar den att alla fälten är ifyllda eller om e-postadressen finn....men jag får inte det att funka att göra båda sakerna.
så här ser min kod ut:
<%
Dim email, con, data_source, sql_insert, sql_check, rs
email = Request.Form("email")
If Len(email) Then
data_source = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & _
Server.MapPath("mail.mdb")
sql_check = "select email from users where email = '" & email & "'"
sql_insert = "insert into users( email ) values ('" & email & "')"
Set con = Server.CreateObject("ADODB.Connection")
con.Open data_source
Set rs = con.Execute (sql_check, , 1)
If rs.EOF Then
con.Execute sql_insert
Response.Write "Thank you. Your email address <b>" & email & _
"</b> was successfully entered into the database"
Else
Response.Write "Your email address " & email & _
" is already present in the database. Thank you."
End If
con.Close
Set con = Nothing
Else
Response.Redirect "mail.htm"
End If
%>
.............................
tacksam för svar
MikaelSv: registrerings formulär
Så här löser jag sådan här case.
Gör en validering på klienten med javascript så att formuläret är korrekt ifyllt.
Sedan kollar du serverside om adressen finns.
Ex:
<code>
Formulärnamn: form1
function CheckForm() {
//kolla så att textrutan fNamn är ifylld
if(document.form1.fNamn.value == "") {
alert("Du måste ange ditt förnamn.\r\nFörsök igen");
document.form1.fNamn.focus()
return false;
}
//Gör mer valideringar. Tex så att ett @ finns med i emailadressen och minst en . (punkt)
return true;
}
<form name="form1" method="post" action="insert.asp" onSubmit="return CheckForm();">
</code>
//Putte