Jeg gider ikke lave det men jeg kan vise det jeg har tilrette til dit spørgsmål så godt som muligt, så kan du selv rette det helt til..:
Her er indtastnings form'en:
<table border="1">
<form method="post" action="opret.asp" name="newmember">
<tr><td colspan="2">Jeg vil gerne oprettes som bruger.</td>
<tr><td>Brugernavn</td><td><input type="text" name="username"></td></tr>
<tr><td>Password:</td><td><input name="passowrd"></td></tr>
<tr><td>Email:</td><td><input type="text" name="email"></td></tr>
<tr><td colspan="2" align="center"><input type="submit" value="Tilmeld" name="Action"></td></tr>
</form>
</table>
Her er koden som oprette brugeren i databasen..:
<HTML>
<head>
<META HTTP-EQUIV=Refresh CONTENT="5; URL=login.asp">
</head>
<body><center>
<%
function fixString(strInput)
if len(strInput) > 0 then
outString = replace(strInput,"'","")
fixString = outString
else
fixString = strInput
end if
end function
if Request.ServerVariables("REQUEST_METHOD") = "POST" then
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Data Source="&server.MapPath("login.mdb")&";Provider=Microsoft.Jet.OLEDB.4.0;"
Set rs = Server.CreateObject("ADODB.RecordSet")
brugernavn = fixString(Request.Form("username"))
password = fixString(Request.Form("passowrd"))
email = fixString(Request.Form("email"))
err = 0 'Antager der ingen fejl er.
if len(brugernavn) = 0 then
err = 1
Response.Write "Ingen brugernavn angivet prøv igen.<br>"
end if
if len(pawword) = 0 then
err = 1
Response.Write "Ingen password angivet prøv igen.<br>"
end if
if InStr(email,"@") = 0 or InStr(email,".") = 0 or len(email) < 6 then
err = 1
Response.Write "Ingen email adresse angivet prøv igen.<br>"
end if
if err = 0 then
strSQL= "SELECT * FROM users WHERE brugernavn = '" & brugernavn & "' OR email = '" & email & "';"
Set rs = Conn.Execute (strSQL)
if (rs.EOF AND rs.BOF) then
'OPRET BRUGERTEET
strSQL = "INSERT INTO users (brugernavn, pwd, email) "
strSQL = strSQL & "VALUES ("
strSQL = strSQL & "'" & brugernavn & "',"
strSQL = strSQL & "'" & password & "',"
strSQL = strSQL & "'" & email & "'"
strSQL = strSQL & ");"
conn.execute(strSQL)
Response.Write "Du er nu oprettet som bruger"
else
Response.Write "Brugernavnet er taget eller der er en bruger med samme email adresse, prøv et andet."
end if
end if 'Err = 0
Conn.Close
else
Response.Redirect("login.asp")
end if
%>
<br><br>
Du vil automatisk bliver stillet om til login siden inden for 5 sekuner.
</center>
</body>
</HTML>
kun en fejl. Den omdiagere til login.asp med det samme. Jeg får ikke changsen for at indtaste noget.
Prøv dette side fra Microsoft:
http://msdn.microsoft.com/ (...)vh Hossein
Og du er kommet ind på siden, via en anden side, hvor du har udfyldt en formular med de omtalte felter?
nej jeg har felterne og koden på samme side som hedder opret.asp
det hele skal ligges samme i en fil sådan her og kalde den opret.asp
<HTML>
<head>
</head>
<body><center>
<%
function fixString(strInput)
if len(strInput) > 0 then
outString = replace(strInput,"'","")
fixString = outString
else
fixString = strInput
end if
end function
if Request.ServerVariables("REQUEST_METHOD") = "POST" then
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Data Source="&server.MapPath("login.mdb")&";Provider=Microsoft.Jet.OLEDB.4.0;"
Set rs = Server.CreateObject("ADODB.RecordSet")
brugernavn = fixString(Request.Form("username"))
password = fixString(Request.Form("passowrd"))
email = fixString(Request.Form("email"))
err = 0 'Antager der ingen fejl er.
if len(brugernavn) = 0 then
err = 1
Response.Write "Ingen brugernavn angivet prøv igen.<br>"
end if
if len(pawword) = 0 then
err = 1
Response.Write "Ingen password angivet prøv igen.<br>"
end if
if InStr(email,"@") = 0 or InStr(email,".") = 0 or len(email) < 6 then
err = 1
Response.Write "Ingen email adresse angivet prøv igen.<br>"
end if
if err = 0 then
strSQL= "SELECT * FROM users WHERE brugernavn = '" & brugernavn & "' OR email = '" & email & "';"
Set rs = Conn.Execute (strSQL)
if (rs.EOF AND rs.BOF) then
'OPRET BRUGERTEET
strSQL = "INSERT INTO users (brugernavn, pwd, email) "
strSQL = strSQL & "VALUES ("
strSQL = strSQL & "'" & brugernavn & "',"
strSQL = strSQL & "'" & password & "',"
strSQL = strSQL & "'" & email & "'"
strSQL = strSQL & ");"
conn.execute(strSQL)
Response.Write "Du er nu oprettet som bruger"
else
Response.Write "Brugernavnet er taget eller der er en bruger med samme email adresse, prøv et andet."
end if
end if 'Err = 0
Conn.Close
else
<%
<table border="1">
<form method="post" action="opret.asp" name="newmember">
<tr><td colspan="2">Jeg vil gerne oprettes som bruger.</td>
<tr><td>Brugernavn</td><td><input type="text" name="username"></td></tr>
<tr><td>Password:</td><td><input name="passowrd"></td></tr>
<tr><td>Email:</td><td><input type="text" name="email"></td></tr>
<tr><td colspan="2" align="center"><input type="submit" value="Tilmeld" name="Action"></td></tr>
</form>
</table>
%>
end if
%>
</center>
</body>
</HTML>
den siger at der ikke er indtastet noget brugernavn selvom der er. nanvene på tekstfeltet brugernavn og oppe i tjek funktionen er den samme
Jeg kan se en fejl ved den som tjekker for passwordet..:
if len(pawword) = 0 then '<------------- SKAL VÆRE len(password)
err = 1
Response.Write "Ingen password angivet prøv igen.<br>"
end if
har fundet ud af det, og det virker tak for hjælpen