Avatar billede c-lund Nybegynder
08. december 2002 - 20:58 Der er 3 kommentarer og
1 løsning

opdatering af database

Hej.
Hvordan opdatere man sin profil i en database, efter at man har tilmeldt sig


jeg har en tilmeldings formular der ser sådan ud

<html>
<head>
<meta http-equiv="Content-Language" content="da">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Tilmeld Hjemmside</title>
<%
  dim progname                           
      progname=Request.ServerVariables("SCRIPT_NAME")

  Sub SaveData
  'Response.Write Request.Form

  If Request.Form("kode")<> Request.Form("kode1") then%>
    Adgangskode-verifikationen fejlede - prøv igen<br>
    <INPUT TYPE="button" VALUE="Tilbage" onClick="history.go(-1); return true;" id=button1 name=button1>
  <%Else
    If Trim(Request.Form("indhold"))="on" Then indhold=1 else indhold=0
    ' Databaseforbindelse - husk at angive sti til din database
    Set Conn = Server.CreateObject("ADODB.Connection")
    DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
    DSN = DSN & "DBQ=" & Server.MapPath("database.mdb")
    Conn.Open DSN

    strSQL ="Insert into links ("

    strSQL = strSQL & "linkname, "
    strSQL = strSQL & "beskrivelse, "
    strSQL = strSQL & "linkurl, "
    strSQL = strSQL & "sogeord, "
    strSQL = strSQL & "brugernavn, "
    strSQL = strSQL & "adgangskode, "
    strSQL = strSQL & "email, "
    strSQL = strSQL & "fornavn, "
    strSQL = strSQL & "efternavn, "
    strSQL = strSQL & "adresse, "
    strSQL = strSQL & "postnummer, "
    strSQL = strSQL & "by, "
    strSQL = strSQL & "indhold)"

   


strSQL = strSQL & "values( "



    strSQL = strSQL & "'" & Request.Form("navn") & "', "
    strSQL = strSQL & "'" & Request.Form("tekst") & "', "
    strSQL = strSQL & "'" & Request.Form("url") & "', "
    strSQL = strSQL & "'" & Request.Form("ord") & "', "
    strSQL = strSQL & "'" & Request.Form("bruger") & "', "
    strSQL = strSQL & "'" & Request.Form("kode") & "', "
    strSQL = strSQL & "'" & Request.Form("email") & "', "
    strSQL = strSQL & "'" & Request.Form("fornavn") & "', "
    strSQL = strSQL & "'" & Request.Form("efternavn") & "', "
    strSQL = strSQL & "'" & Request.Form("adresse") & "', "
    strSQL = strSQL & "'" & Request.Form("postnummer") & "', "
    strSQL = strSQL & "'" & Request.Form("by") & "', "
strSQL = strSQL & indhold & ")"

   
' SQL sætning eksekveres
    Conn.Execute(strSQL)

    ' Luk databaseforbindelse
    Conn.Close
    Set Conn = Nothing%>
   
    Vi takker for din tilmelding!<br>
    mvh<br>
    ..::DIN SØGEMASKINE::..
   
    Kom videre til søgningen: <p><a href="index.asp">:..Klik her..:</a></p>
   
  <%End If
End Sub
'--------


Sub EnterForm%>
    <form action="<%=progname%>" method="post" id=form1 name=form1>
     

     

 

<input name="fornavn" ><br>
      <br>


      <input name="efternavn" ><br>
      <br>


      <input name="adresse" ><br>
      <br>


      <input name="postnummer" ><br>
      <br>


      <input name="by" ><br>
    <br>


      <input name="email" ><br>
     
<br>









      <input name="navn" ><br>
      (Dette kommer til at stå som en overskrift, i søgeresultaterne.)<br>
      <br>



      <TEXTAREA name=tekst></TEXTAREA><br>
      (Dette kommer også til at stå, i søgeresultaterne, så det bør være en
      sammenhængende tekst, og ikke søgeord.)<br>
      <br>


     
      <input name="url" ><br>
      (Indtast dette med http:www.di side.dk)<br>
      <br>


   
          1. <input name="ord"><br>
    2. <input name="ord"><br>
    3. <input name="ord"><br>
    4. <input name="ord"><br>
    5. <input name="ord"><br>
      (Dette er ordene, som bla.a. søgemaskinen søger på, så de bør være
      beskrivende.)<br>
      <br>


     
      <input name="bruger" ><br>
      <br>


     
      <input type="password" name="kode" ><br>
      Gentag Adgangskode:<br>
      <input type="password" name="kode1" ><br>
      <br>


      Jeg bekræftiger at indholdet ikke er anstødeligt (som f.eks lovlig pornografi):&nbsp;
      <input type="radio" value="on" checked name="indhold">Ja
      <input type="radio" name="indhold" value="off">Nej
      <br>


      <br>
      Sider som har ulovlige ting, eller ting som kan virke stødende, forbeholder vi
      os ret til at slette uden advarsel.<br>
      Endvidere udlevere vi databasen til politiet, hvis vi tror der er noget
      ulovligt indhold på de tilknyttede sider.
      <br>

      <br>
     
      <input type="submit" value="Send" name="B1"><input type="reset" value="Nulstil" name="B2">
    "</form>" 
<%End Sub%> 


</head>

<body>
  <%If Request.Form="" Then call EnterForm Else call SaveData%>
</body>
</html>

-----------------------------------------------------------
det jeg gerne vil have er, at efter folk har tilmeldt deres profil, skal de kunne rette i den.

Først skal de kunne logge ind. det ser sådan her ud:
<html>
<body>

<%


Set Conn = Server.CreateObject("ADODB.Connection")
    DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
    DSN = DSN & "DBQ=" & Server.MapPath("database.mdb")
    Conn.Open DSN

    if request("mode") = "" then
        if request("err") = 1 then
            response.write "Fejl i login, prøv igen.<br><br>"
        end if
%>

<form method="POST" action="?mode=check">
Brugernavn: <input type="text" name="bruger">
Pass : <input type="password" name="pass">
<input type="submit" value="Login">
</form>

<%
 


elseif request("mode") = "check" then
        bruger = request.form("bruger")
        pass = request.form("pass")
   
SQL = "select * from links where bruger='" & bruger & "' and pass='" & pass & "'"
        set check = conn.Execute(SQL)
   
      if check.bof or check.eof then
            response.redirect "login.asp?err=1"
        else
            session("id") = check("id")
   
            response.redirect "search form.asp"
        end if
end if
 
%>

</body>

-------------------------------------
hvordan laver man det sådan så efter de har logget ind, for de en side frem med en formular der ligner tilmeldnings formularen, hvor deres allerede intastede data står, sådan så de kan rette i den.

---ved godt at spørgsmålet er langt, men håber i forstår---
Avatar billede loukas Mester
08. december 2002 - 21:53 #1
først skal du hente data om brugeren:

Conn=bla.bla...
SQL = "SELECT * FROM tabel WHERE password= osv osv"
set rs = conn.execute(SQL)

Så skal du lave en FORM

<form action="opdater.asp">
<input type="text" name="navn" value="<%Response.Write rs("navn")%>">
osv for alle felter
</form>
Avatar billede roo104 Nybegynder
09. december 2002 - 16:30 #2
Måske er
SQL = "SELECT * FROM tabel WHERE username = 'bla bla'" bedre, da der godt kan være flere med samme pass, men username burde være primanøgle og derved unik.
Hvis ikke den er unik burde den ihvertfald være det.
Avatar billede c-lund Nybegynder
09. december 2002 - 17:41 #3
Kan i ikke prøve at hjælpe mig lidt igennem.

man skal åbne sin database:
Set Conn = Server.CreateObject("ADODB.Connection")
    DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
    DSN = DSN & "DBQ=" & Server.MapPath("database.mdb")
    Conn.Open DSN

Og så har jeg så valgt at den skal bruge den session(id) fra login scripet:

SQL = "select * from links where id='" & session("id") & "'"
set info = conn.Execute(SQL)

og hvad så nu, jeg har også fået andre svar, i et andet spørgsmål, men jeg kan ikke finde ud af dem.
Avatar billede c-lund Nybegynder
10. december 2002 - 19:08 #4
ikke færdig
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester