Avatar billede snooby Nybegynder
23. marts 2006 - 22:07 Der er 11 kommentarer og
1 løsning

Hjælp til en slet funktion

Hey jeg har lavet det her, det fungere sådan at jeg henter brugernes navne fra min db, og så formen gør at jeg kan tilføje nye brugere, men vil gerne have lavet sådan der kommer et "Slet" link ud fra hvert navn som jeg så kan trykke på for at slette den bestemte bruger, nogle der lige kan kringle den? og så vil jeg også gerne have sådan man ikke kan slette brugeren vis vedkomende er admin:

Min db
Navn = Tagwall.mdb
tabel = brugere
indhold = ID(autonr), Navn(txt), Brugernavn(txt), adgangskode(txt), admin(ja/nej).

-----------------------------------------
<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("../db/tagwall.mdb")
Conn.Open DSN

strSQL = "Select * from brugere Order by ID"
Set rs = Conn.Execute(strSQL)

do
    Response.Write rs("Brugernavn") & "<br>"
    rs.MoveNext
    Loop While Not rs.EOF

Conn.Close
Set Conn = Nothing
%>

<form method="post" action="userupdate.asp" >
<p style="margin:0;">Tilføj ny bruger:<br />
<span>
Navn<input type="text" name="navn" class="login" /><br />
Nick:<input type="text" name="nick" class="login" /><br />
Password:<input type="text" name="pass" class="login" /><br />
<input type="submit" value="Opret" name="B1" class="submit" />
</span>
</p>
</form>
Avatar billede Slettet bruger
23. marts 2006 - 22:22 #1
Hej! Hvad med noget a la det her:

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

strSQL = "Select * from brugere Order by ID"
Set rs = Conn.Execute(strSQL)

do
    Response.Write rs("Brugernavn")
response.write "<a href=""slet.asp?id=" & rs("ID") & """>slet</a>"


response.write "<br>"
    rs.MoveNext
    Loop While Not rs.EOF

Conn.Close
Set Conn = Nothing
%>

- og så skal du lave en fil i samme mappe som hedder "slet.asp" som skal indeholde nedenstående:
<%
Dim rs
set rs = Server.CreateObject("ADODB.RecordSet")
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath ("../db/tagwall.mdb")
rs.open "brugere", strDSN, adOpenDynamic, adLockOptimistic, adCmdTable
rs.finde "ID=" & request.querystring("id") & ""
if NOT rs.EOF then
rs.delete
end if
rsSave.update
rsSave.close
set rsSave=nothing
response.redirect "./"
%>

- det med admin-mode er der flere måder at gøre på... hvordan skal sikkerheden være?

\Dan
Avatar billede snooby Nybegynder
23. marts 2006 - 22:25 #2
altså sådan at admin på ingen måder kan blive slettet med mindre jeg DN db'en og sletter den og uploader den igen
Avatar billede Slettet bruger
23. marts 2006 - 22:26 #3
arh... der var jeg vist lidt for hurtig! Det skal se sådan her ud i stedet:
<%
Dim rs
set rs = Server.CreateObject("ADODB.RecordSet")
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath ("../db/tagwall.mdb")
rs.open "brugere", strDSN, 2, 3, &H0002
rs.finde "ID=" & request.querystring("id") & ""
if NOT rs.EOF then
rs.delete
end if
rs.update
rs.close
set rs=nothing
response.redirect "./"
%>

- SORRY!!!

\Dan
Avatar billede snooby Nybegynder
23. marts 2006 - 22:28 #4
ja okay.. kan det ikke lade sig gøre at holde sig til en fil ?
Avatar billede Slettet bruger
23. marts 2006 - 22:29 #5
- ok! Men så er det sådan her:
<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("../db/tagwall.mdb")
Conn.Open DSN

strSQL = "Select * from brugere Order by ID"
Set rs = Conn.Execute(strSQL)

do
    Response.Write rs("Brugernavn")
if rs("admin") = False then
response.write "<a href=""slet.asp?id=" & rs("ID") & """>slet</a>"
end if
response.write "<br>"
    rs.MoveNext
    Loop While Not rs.EOF

Conn.Close
Set Conn = Nothing
%>

- og slette-filen sådan her:
<%
Dim rs
set rs = Server.CreateObject("ADODB.RecordSet")
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath ("../db/tagwall.mdb")
rs.open "brugere", strDSN, 2, 3, &H0002
rs.find "ID=" & request.querystring("id") & ""
if NOT rs.EOF then
if rs("admin") = False then
rs.delete
end if
end if
rs.update
rs.close
set rs=nothing
response.redirect "./"
%>
Avatar billede snooby Nybegynder
23. marts 2006 - 22:31 #6
okay tak.. ser lige om det fungere :D
Avatar billede Slettet bruger
23. marts 2006 - 22:31 #7
jo du kan godt holde det i én fil... men det bliver det bare mindre overskueligt af... men sådan her:

<%
if request.querystring("act") = "DEL" then
Dim rs
set rs = Server.CreateObject("ADODB.RecordSet")
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath ("../db/tagwall.mdb")
rs.open "brugere", strDSN, 2, 3, &H0002
rs.find "ID=" & request.querystring("id") & ""
if NOT rs.EOF then
if rs("admin") = False then
rs.delete
end if
end if
rs.update
rs.close
set rs=nothing
response.redirect request.servervariables("SCRIPT_NAME")
else
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("../db/tagwall.mdb")
Conn.Open DSN

strSQL = "Select * from brugere Order by ID"
Set rs = Conn.Execute(strSQL)

do
    Response.Write rs("Brugernavn")
if rs("admin") = False then
response.write "<a href=""slet.asp?id=" & rs("ID") & "&act=DEL"">slet</a>"
end if
response.write "<br>"
    rs.MoveNext
    Loop While Not rs.EOF

Conn.Close
Set Conn = Nothing
%>
<form method="post" action="userupdate.asp" >
<p style="margin:0;">Tilføj ny bruger:<br />
<span>
Navn<input type="text" name="navn" class="login" /><br />
Nick:<input type="text" name="nick" class="login" /><br />
Password:<input type="text" name="pass" class="login" /><br />
<input type="submit" value="Opret" name="B1" class="submit" />
</span>
</p>
</form>
<%end if%>

- så er det i én fil...

\Dan
Avatar billede snooby Nybegynder
23. marts 2006 - 22:33 #8
ja okay tror jeg holder mig til 2 filer så.. kan ikke gennemskure det der.. du er sku da hardcore til det der asp :D
Avatar billede snooby Nybegynder
23. marts 2006 - 22:37 #9
hmm nogle bud på hvordan jeg kan give det lidt struktur ?  bruger ikke tabeller på min sites men div,span og css måske ? og så et svar :)
Avatar billede Slettet bruger
23. marts 2006 - 22:44 #10
HEHE!...

tjae her er der et svar... og så får du også lige et udkast til en tabel:

<table cellpadding="0" cellspacing="0" style="border-collapse: collapse" width="100%" border="0">
<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("../db/tagwall.mdb")
Conn.Open DSN
strSQL = "Select * from brugere Order by ID"
Set rs = Conn.Execute(strSQL)
do
%>
<tr>
<td width="50%">
<%=rs("Brugernavn")%>
</td>
if rs("admin") = False then
%>
<td width="50%">
<a href="slet.asp?id=<%=rs("ID")%>&act=DEL">slet</a>
</td>
<%else%>
<td width="50%"></td>
<%end if%>
</tr>
<%
rs.MoveNext
Loop While Not rs.EOF
Conn.Close
Set Conn = Nothing
%>
</table>
<form method="post" action="userupdate.asp" >
<p style="margin:0;">Tilføj ny bruger:<br />
<span>
Navn<input type="text" name="navn" class="login" /><br />
Nick:<input type="text" name="nick" class="login" /><br />
Password:<input type="text" name="pass" class="login" /><br />
<input type="submit" value="Opret" name="B1" class="submit" />
</span>
</p>
</form>


\Dan
Avatar billede snooby Nybegynder
23. marts 2006 - 22:47 #11
HEHE ja okay nu er jeg ikke så meget for tebeller så prøver lige at se om jeg ikke kan fixe noget andet :P men tak for hjælpen du stre til asp ;)
Avatar billede Slettet bruger
23. marts 2006 - 22:49 #12
Det var så lidt - og man vil jo altid gerne hjælpe...!

\Dan
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