Avatar billede rbb Praktikant
12. juli 2003 - 21:15 Der er 18 kommentarer og
1 løsning

Formular skal lave opslag i database og sende data retur

Hej eksperter!

Jeg vil gerne have en formular til at lave opslag i min medlemsdatabase, så medlemmerne kan se de oplysninger jeg har registreret på dem, og rette evt. fejl. De nye oplysninger der er valgt, skal så sendes retur til databasen.

Databasenavn: 'fik'
Tabel: 'tblMedlem'

Hvordan laver jeg dette?
Avatar billede nmh Nybegynder
13. juli 2003 - 18:42 #1
Hvad er det for en database du arbejder med?
Understøtter det websted, hvor du har din side liggende ASP eller ASPX?
Jeg har et lille ASP-skript, der kan vise enhver Access-database.
Avatar billede rbb Praktikant
13. juli 2003 - 20:22 #2
Mit websted understøtter ASP, så det vil jeg da meget gerne kikke på.
Avatar billede rbb Praktikant
13. juli 2003 - 20:22 #3
Jeg glemte lige at svare på databasen. Jeg arbejder med Access.
Avatar billede nmh Nybegynder
13. juli 2003 - 23:08 #4
Her er så scriptet. For at bruge det skal du blot kende den præcise placering af din database på serveren. Hvis du ikke gør det skal der laves en lille ændring. Jeg kan ikke huske det lille nu, men jeg kan slå det op.

<%
'Denne ASP-side viser hele databasen.

Option Explicit
Dim conn, rs, SQL, field, Nr, ID, DB_Filnavn

'Databasens placering gemmes i variablen DB_Filnavn
'Det kan f.eks. være
DB_Filnavn="d:/data/Fik.mdb"

set conn =server.CreateObject("ADODB.Connection")
Conn.open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
          ";Data Source=" & DB_Filnavn
SQL="select * from tblMedlem"
set rs=conn.execute(SQL)
%>
<html>
</script>
<body>
<table width=50% cellspacing=1 cellpadding=5 border=1>
<tr>
<% for each field in rs.fields
      Response.write("<th>" & field.name & "</th> " & VbCrLf)
  next
%>
</tr>
<%
while not rs.EOF
%>
  <tr>
  <% for each field in rs.fields %>
      <td><%= field.value %></td>
  <% next %>
  </tr>
<%
  rs.MoveNext
wend
rs.close
conn.close
set conn=nothing
%>
</body>
</html>
Avatar billede rbb Praktikant
13. juli 2003 - 23:26 #5
Mange tak.
Jeg kikker lige på funtionaliteten og vender tilbage i morgen aften.
Avatar billede nmh Nybegynder
13. juli 2003 - 23:26 #6
Jeg har i øvrigt også sider, der kan bruges til at editere poster i din database. Men så kommer der jo et sikkerheds problem. Du skal jo sørge for at et medlem kun kan rette i sine egne data, Dvs et medlem skal logge ind, og så kun have mulighed for at rette i sine egne data. Så der er en del ting der skal gennemtænkes.
Avatar billede rbb Praktikant
14. juli 2003 - 14:43 #7
Din seneste kommentar lyder alletiders. Det er faktisk det jeg er ved at forsøge at lave. Jeg har mere eller mindre fået opbygget et log-on, men mangler mangler også den funktionalitet, at medlemmet kun får sine egne data præsenteret. Men hele database-siden er oprettet. Jeg kikker på ovenstående nu, og vender tilbage i aften.
Avatar billede rbb Praktikant
14. juli 2003 - 15:37 #8
Det jeg specifikt er ude efter, synes at være den løsning du har lavet, jf. din kommentar af 13/07-2003 23:26:46.
Hvis du har lavet en fuld funktionalitet, hvor et medlem logger på, får præsenteret sine egne oplysninger (og kun disse), kan rette i disse og gemme i databasen, vil jeg meget gerne sende flere point afsted. Det er lige det jeg er ude efter...
Avatar billede nmh Nybegynder
14. juli 2003 - 16:44 #9
Hvor mange medlemmer er der i databasen?
Må et medlem se data fra de andre medlemmer?
Har hvert medlem et entydigt medlemsnummer som kan fungere som identifikation af medlemmet?
Du skal nok lave endnu et felt i databsen, hvor medlemmernes adgangskoder kan gemmes.
Du skal overveje hvordan du får givet medlemmerne ders adgangskode. Hvis der ikke er risiko for at nogel medlemmer vil drille og de gerne må se hinandens data kan du jo starte med den samme kode til alle. Den enkelte bruger kan så efterfølgende rette sin adgangskode til en personlig kode.

Hvor meget kan du selv lave?
Avatar billede rbb Praktikant
14. juli 2003 - 17:34 #10
Databsen indeholde ca. 500 medlemmer.
Et medlem må ikke se andre medlemmers data, kun deres egne data.
Ja, hvert medlem har et unikt medlemsnr og jeg vil anvende en adgangskontrol med medlemsnr og fødselsdato - begge felter i databasen. Medlemmerne kender således allerede deres brugernavn og adgangskode.
Hvormeget jeg selv kan lave er et godt spørgsmål.
Jeg er nybegynder med ASP, men forholdsvis godt med i FrontPage. Så det jeg kan vedr. ASP, er ting som er fundet i diverse tutorials og Tips%Triks.
1. Jeg har en ASP funktionalitet vedr. adgangskontrollen, som jeg regner med jeg kan anvende.
2. Den anden del jeg er igang med er netop denne funktionalitet, som dette spørgsmål vedrører.
3. Oprindeligt var min tanke, at via login at overføre denne til databasen og lave et opslag med kun det medlemsnr, at præsentere data i en FrontPage genereret form, således at medlemmerne havde mulighed for såvel at se som at rette fejlagtige oplysninger.
Hvis dette kunne lykkes, har jeg - tror jeg nok - styr på hvordan jeg ville få det til at lykkes...
Avatar billede nmh Nybegynder
14. juli 2003 - 21:26 #11
Nu fandt jeg mine gamle ting frem. Det drejer sig om et lille ASP-system, der oprindelig blev lavet for at vise en anvendelse af asp. Man kan vise en database, vælge hvilket felt der skal sorteres efter i visningen, editere en post, gemme den editerede post samt indtaste nye poster.

Du kan lege med det her:

http://dlg.ghg.dk/dlg-web/eks/database/visalt3.asp

Hvis du vil indtaste nye poster, skal du vælge side IndRecord.asp.

Systemet kan let tilrettes til det, du har brug for. Så vidt jeg kan se er det kun asp-siden, der viser hele databasen, der skal rettes til kun at vise en udvalgt post.

Men som du selv siger, skal du nok ryste op med en del flere point.

Vi skal også finde en måde, hvor du kan hente filerne. Det vil blive et FTP-sted. Jeg har forstået, at det, der foregår her på eksperten, skal være tilgængeligt for alle.
Avatar billede rbb Praktikant
14. juli 2003 - 22:24 #12
Hej igen! Det vil bestemt kunne anvendes. Hvis jeg smider 200 point i alt, vil du så ændre scriptet til mig, så jeg kan få den funktionalitet jeg har brug for?

Jeg har lavet en forespørgsel i databasen, så der kun fremgår de felter jeg vil have frem:
Forespørgsel: Q_Medlem - som indeholder følgende felter:
MedlemsNr, Navn, Adresse, Adresse2, FK_postnr, Distrikt, Telefon, Telefon2, Email, IndmeldtDato, Foedselsdato, Aargang, Haederstegn, Lokalafdeling

Nedenfor har jeg indsat det logon-script, som jeg vil have siden til at fungere sammen med:

-----------
<%
SET RS = Server.CreateObject("ADODB.Connection")
rs.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("fpdb/fik.mdb")

If Request("mode") = "Check" then

    ' Authes user, password, and fixed a known securitybug to many login systems.
        strUsername = Trim(Replace(request("username"),"'","''" ))
        strPassword = Trim(Replace(request("password"),"'","''" ))

  Sql = "Select Count(*) as Found from tblMedlem where (MedlemsNr = '" & strUsername  & "') and (Foedselsdato ='" & strPassword  & "')"
  Set LO = RS.Execute(Sql)
  if LO("Found") = 0 then
    Session("login") = ""
    error = "Brugernavn eller adgangskode er forkert"
  else
  strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("fpdb/fik.mdb")
  Set myConn = Server.CreateObject("ADODB.Connection")
  myConn.Open strDSN
  strSQL = "SELECT * FROM tblMedlem where (MedlemsNr = '" & Request("username") & "') and (Foedselsdato ='" & Request("password") & "')"
  Set ez = myConn.Execute(strSQL)
    Session("login") = "Authed"
    Response.Redirect "modtag.asp"
    EZ.Close
    RS.Close
    Conn.Close
  End if
End if
%>
-------------
Mange tak for hjælpen...
Avatar billede nmh Nybegynder
14. juli 2003 - 23:14 #13
OK. Jeg vil gerne rette mine filer til, så de får den funktionalitet, du har brug for, hvis du ændrer til 200 point.

Men jeg regner med, du så selv retter til, så det svarer til din egen database.
Avatar billede rbb Praktikant
14. juli 2003 - 23:34 #14
OK.
Avatar billede nmh Nybegynder
15. juli 2003 - 14:47 #15
Mht password=medlemsnr & fødselsdato: Hvis dine medlemsnumre er blot er fortløbende er det nok ikke så sikkert endda. Men det gør måske ikke så meget om en person, der gider prøve med en masse fødselsdatoer, får set oplyninger for et andet medlem.
Jeg sidder lige nu og retter min tin til. Jeg vil igen lægge det på nettet, så du kan lege med det.
Avatar billede rbb Praktikant
15. juli 2003 - 15:06 #16
Medlemsnr er ikke fortløbende, så der er ikke noget problem i det. Jeg glæder mig til at se resultatet...
Hvis det er nemmere kan du sende det til mig på rbb@adslhome.dk
Avatar billede nmh Nybegynder
15. juli 2003 - 15:10 #17
OK. Jeg håber at have det klar i dag eller i morgen (jeg har også andre ting at se til)
Avatar billede nmh Nybegynder
15. juli 2003 - 22:49 #18
Så har jeg det klar. Jeg mailer en zip-fil til dig. Du kan teste det på

http://dlg.ghg.dk/dlg-web/eks/database/login.asp

Hvis du logger på med medlemsnr 117 og navnet Admin, vil du være administrator. Du kan se og rette alt og du kan tilføje nye poster.

Hvis du logger på som nr. 7 og navnet Else, kan du kun se Elses post og kun redigere i den.
Avatar billede nmh Nybegynder
16. juli 2003 - 12:53 #19
I reglerne for eksperten står at løsninger, skal være tilgængelige for alle. Hvis der er nogle, der ønsker filerne, lægger jeg dem gerne på en FTP-server eller sender den hvorhen, det ønskes.
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