Oprettet søn. d. 13. oktober 2002 kl. 12:44:14

fun22
fun22 (13.509 point. Point ude: 195)

Komplet kode til oprettelse af bruger.

Er der ikke en venlig sjæl der gider at lave en kode til at oprette brugere i en access database? Databasen hedder logins, og har en tabel der hedder users. I den tabel er der tre felter uid (brugernavn) pwd (password) email (ja gæt en gang). Det skal være sådan at brugeren får en meddelelse hvis brugernavnet er optaget, og hvis der er nogle felter der mangler at blive udfyldt. Nu har jeg prøvet med så mang forskldige slags oprettelses systemmer men har ikke kunnet få nogen af dem til at virke. Enten så siger den at brugernavnet er optaget selvom det ikke er eller også virker den funktion slet ikke. På forhånd tak!

Skrevet søn. d. 13. oktober 2002 kl. 13:02:07| #1

eagleeye
eagleeye (330.580 point)
www.eagleeye.dk
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>

Skrevet søn. d. 13. oktober 2002 kl. 15:53:59| #2

fun22
fun22 (13.509 point)
kun en fejl. Den omdiagere til login.asp med det samme. Jeg får ikke changsen for at indtaste noget.

Skrevet søn. d. 13. oktober 2002 kl. 21:03:14| #3

hossein
hossein (35.318 point)
Prøv dette side fra Microsoft:
http://msdn.microsoft.com/ (...)

vh Hossein

Skrevet man. d. 14. oktober 2002 kl. 09:28:45| #4

the_bma_man
the_bma_man (26.374 point)
Og du er kommet ind på siden, via en anden side, hvor du har udfyldt en formular med de omtalte felter?

Skrevet man. d. 14. oktober 2002 kl. 13:45:51| #5

fun22
fun22 (13.509 point)
nej jeg har felterne og koden på samme side som hedder opret.asp

Skrevet man. d. 14. oktober 2002 kl. 16:50:12| #6

eagleeye
eagleeye (330.580 point)
www.eagleeye.dk
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>

Skrevet man. d. 14. oktober 2002 kl. 19:05:36| #7

fun22
fun22 (13.509 point)
den siger at der ikke er indtastet noget brugernavn selvom der er. nanvene på tekstfeltet brugernavn og oppe i tjek funktionen er den samme

Skrevet man. d. 14. oktober 2002 kl. 19:17:34| #8

eagleeye
eagleeye (330.580 point)
www.eagleeye.dk
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

Skrevet man. d. 14. oktober 2002 kl. 19:33:02| #9

fun22
fun22 (13.509 point)
har fundet ud af det, og det virker tak for hjælpen

Skriv et indlæg




Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] [img]link til billede[/img]
Web- og emailadresser omdannes automatisk til links

Log ind

   

   

Seneste spørgsmål

ASP: formular udtræk med mulighed for at rette

Oprettet den 21. maj 2012 kl. 15.09
quarkb giver 200 point for svar | Giv et svar »

Sorter biblioteker efter dato i ASP

Oprettet den 17. maj 2012 kl. 16.52
4ks giver 60 point for svar | Giv et svar »

Simpel login-funktion (web) - behov for flere logins/brugere

Oprettet den 15. maj 2012 kl. 09.54
madx giver 75 point for svar | Giv et svar »



   




Tips & Tricks fra PC World

Teaser billede

Læserne: Her er vores værste it-indkøb

Det er ikke al it-udstyr, som er det rene guld. Her er nogle af læsernes skrækhistorier.


Anmeldelser fra PC World

Teaser billede

Test: Mobil med Ferrari-design - og en Trabant-motor

Motorola har begået endnu en smartphone med lækkert design og potentiale til at være blandt de bedste. Men den når ikke i mål. Se her hvorfor.


Seneste blogindlæg

Teaser billede

Tvangslukke spørgsmål: Hvad er den bedste løsning?

Hej Vi har mange åbne spørgsmål på Eksperten. Vi ville gerne tvangslukke dem - så et spørgsmål efter f.eks. 6 måneder lukkes. Men der er et par uklarheder som ville være gode at få lidt input til:...


Nyheder fra PC World

Teaser billede

Sådan siger du farvel til Facebook

Læs her, hvordan du dropper Facebook og i stedet anvender nogle brugervenlige alternativer, så du stadig kan være social på nettet.


Nyheder fra Computerworld

Teaser billede

Galleri: De fedeste håndholdte gennem 40 år

Her har du de mest banebrydende håndholdte computere gennem alle tider.


Kurser
Samarbejdspartnere

Udgiver · © 2012 IDG Danmark A/S · Hørkær 18 · 2730 Herlev · Tlf.: 77 300 300 · Fax: 77 300 301 · Brug af personoplysninger