Avatar billede magnus_b Nybegynder
09. maj 2003 - 07:59 Der er 3 kommentarer og
1 løsning

Sletning med checkbox

Jeg har nogle problemer med at rette nedenstående kode til. Lige nu skal man trykke på linket "slet", når man vil slette en post. Jeg vil gerne kunne slette flere på engang, da det tager rigtig langtid at load en side med fx 3000 poster.

Jeg må tilstå, jeg kan ikke finde ud af det. Så hvis der er en som kan fiks det, vil jeg få en rigtig god weekend.

Systemet med tilhørende database kan downloads her
http://www.kif-atletik.dk/Nyhedsbrev.zip

Her starter siden =>

<!-- #INCLUDE FILE="nyhedsbrev_header.asp" -->

<HTML>
<HEAD>
<LINK REL="stylesheet" HREF="../css/admstyle_screen.css" TYPE="TEXT/CSS" MEDIA="screen">

<TITLE> Administration af nyhedsbrev</TITLE>
<% if mode = "delete" then %>

  <script language="JavaScript" type="text/javascript">
  <!--
    if (confirm("Er du sikkert på, du vil slette denne?")){
      top.location.replace("nyhedsbrev_admin.asp?IDpas=<%= IDpas %>&amp;mode=deleteyes")
      }
    else{
    top.location.replace("nyhedsbrev_admin.asp")
    }
  //-->
  </script>

<%
End if
if mode="deleteyes" then
  SQL = "DELETE FROM mailinglist WHERE IDpas ='"& IDpas& "';"
  conn.execute (SQL)
  Response.redirect"nyhedsbrev_admin.asp"
End if
%>

</HEAD>
<BODY>
<BR><DIV ID=H1>Administration af nyhedsbrev</DIV><BR><BR>

<%
    if status = "ReturnedTup" then
          SQL = "Update mailinglist Set ReturnedT= ReturnedT +1 WHERE IDpas='"& IDpas &"';"
          conn.execute(SQL)
          Response.Clear
          Response.Redirect("nyhedsbrev_admin.asp")
      elseif status="Reset" then
          SQL = "Update mailinglist Set ReturnedT= 0 WHERE IDpas='"& IDpas &"';"
          conn.execute(SQL)
          Response.clear
          Response.Redirect("nyhedsbrev_admin.asp")
      End if
%>

<table width="100%" summary="table" cellpadding="0" cellspacing="2" border="0" align="center">
  <tr>
  <td align="center">
  <%
  Set rsThis = Conn.Execute ("SELECT COUNT(*) AS Antal FROM mailinglist where Confirm=0")
  if rsThis("Antal")= "1" then
    ord="modtager"
  else
    ord="modtager"
'    ord="recipients"
  End if
  Response.Write ("<DIV ID=PC>" & rsThis("Antal") & "  ikke aktive " & ord & " og ")
  Set rsThis = Conn.Execute ("SELECT COUNT(*) AS Antal FROM mailinglist where Confirm=1")
  Response.Write (rsThis("Antal")& " aktive modtager</DIV><BR>")
  rs.close
  Set rs = nothing
  Response.Write ("</td>" & vbCrlf)
  Response.Write ("</tr>" & vbCrlf)
  Response.Write ("</table>" & vbCrlf)

  Response.Write ("<DIV STYLE='text-align:center'>")
Response.Write ("<BR><DIV ID=PCB><A HREF=""nyhedsbrev_admin.asp?action=send""> Send nyhedsmail </A></DIV><BR><BR>")

  Response.Write ("<table summary=""view"" border=""0"" cellpadding=""1"" cellspacing=""0""")
  Response.Write ("width=""100%"" align=""center"">" & vbCrlf)
  Response.Write ("<tr>" & vbCrlf)
  Response.Write ("<td align=""center"">")
  if action="" then

'FORMULAR START ***********************************************
  Response.Write ("<FORM NAME='regform' METHOD='post' ACTION='nyhedsbrev_admin.asp?mode=delete'>")

    Response.Write ("<TABLE summary=""view"" WIDTH=""95%"" BORDER=""0"" cellpadding=""0"" cellspacing=""7""")
  Response.Write ("width=""100%"" align=""center"">" & vbCrlf)
  if sort="" then
    sort="Confirm_ASC"
  End if
  order = Split(sort, "_", -1, 1) 
  Select case order(1)
    case "DESC"
          orderstr="ASC"
    case else
          orderstr="DESC"
  End Select
  Response.Write ("<tr>" & vbCrlf)
  Response.Write ("<td align=""left"">&nbsp;</td>")
  Response.Write ("<td align=""left""><a href=""nyhedsbrev_admin.asp?sort=Name_" & orderstr & """>Navn</A></td>")
  Response.Write ("<td align=""left""><a href=""nyhedsbrev_admin.asp?sort=Emailad_" & orderstr & """>Email</a></td>")
  Response.Write ("<td align=""left""><a href=""nyhedsbrev_admin.asp?sort=Timenow_" & orderstr & """>Tilmeldt</a></td>")
  Response.Write ("<td align=""left""><a href=""nyhedsbrev_admin.asp?sort=Confirm_" & orderstr & """> Status </a>")
    if status<>"" then
        Response.Write ("[ <A HREF=""nyhedsbrev_admin.asp"">Normal</a> ]")
    else
        Response.Write ("[ <A HREF=""nyhedsbrev_admin.asp?status=Active"">Active?</A> ]")
    End if
    Response.Write("</td>" & vbCrlf)
    Response.Write("</tr>" & vbCrlf)
  SQL = "SELECT * FROM mailinglist ORDER BY " & order(0) & " " & order(1) & ";"
  set slet = conn.execute(SQL)
    do while not slet.eof
      Felt = slet("Timenow")
            Emailad = slet("Emailad")
            idPas = slet("idPas")
            name = slet("name")
            confirm = slet("confirm")
            ReturnedT = slet("ReturnedT")
      if ConvertDate(NOW-7)< Felt then
        newPost = "<div class=""yellow"">New</div>"
      else
        newPost = "&nbsp;"
      End if
      NewStr = Split(Felt, "-", 6, 0)   
      EStr = NewStr(2) & "/" & NewStr(1) & " " & NewStr(0) & " " & NewStr(3) & ":" & NewStr(4)& ":" & NewStr(5) & " " & newPost

' BAGGRUNDSFARVE
tal = tal + 1
dim tal
if tal MOD 2 = 0 then

Response.Write ("<TR bgcolor=#e5e5e5>" & vbCrlf)
else
Response.Write ("<TR bgcolor=#ffffff>" & vbCrlf)
end if

' DET ER HER CHECKBOKSEN ER

          Response.Write ("<td align=""left""><a HREF=""nyhedsbrev_admin.asp?IDpas=" & IDpas & "&amp;mode=delete"" class=""yellow""><INPUT TYPE='checkbox' NAME='delete' VALUE='IDpas=" & IDpas & "&amp;mode=delete'>Slet</a></td>")
      Response.Write ("<td align=""left"">" & name & "</td>")
          Response.Write ("<td align=""left""><a href=""mailto:" & emailad & """>" & emailad & "</a></td>")
      Response.Write ("<td align=""left"">" & EStr & "</td>")
        if status = "" then
            Response.Write ("<td align=""left""> " & ReturnedT & " ")
            Response.Write (" [<A HREF=""nyhedsbrev_admin.asp?status=ReturnedTup&amp;IDpas="& IDpas &"""> Up </a>|")
            Response.Write ("<a href=""nyhedsbrev_admin.asp?status=Reset&amp;IDpas="& IDpas &"""> Reset </a>]</td>")
          else
            Response.Write ("<td align=""left"">" & Confirm & "</td>") 
          End if
      Response.Write ("</tr>") & vbCrlf
      slet.movenext
    loop

    Response.Write ("</table>" & vbCrlf)
      Response.Write ("</td>" & vbCrlf)
    Response.Write ("</tr>" & vbCrlf)
      Response.Write ("</table>" & vbCrlf)
      Response.Write ("<p align=""center""><INPUT TYPE='BUTTON' VALUE='Slet'></FORM></DIV>")

'FORMULAR SLUT **************************************'

    Response.Write ("<BR><BR><DIV ID=PCB><A HREF=""nyhedsbrev_admin.asp?action=send""> Send nyhedsmail </A></DIV><BR><BR>")
  elseif action = "send" then
    Response.Write ("<table width=""100%"" cellpadding=""0"" cellspacing=""0"">" & vbCrlf)
    Response.Write ("<tr>" & vbCrlf)
      Response.Write ("<td align=""left"">" & vbCrlf)
    if mode = ">> Send nyhedsbrevet <<" then
          SQL = "SELECT * FROM mailinglist WHERE confirm=1;"
            set send = conn.execute(SQL)
        if (send.BOF AND send.EOF) then
      Response.Write ("<h2>No recipients!</h2>" & vbCrlf)
    else
        Do while not send.eof
        Name= send("Name")
        TopTxt = Replace(TopTxt,"[Username]",Name)
                IDpas= send("IDpas")   
              Emailad= Send("Emailad")
              subject= Request("subject")

                BodyTextto = TopTxt & vbCrLf & vbCrLf & bodytext & vbCrLf & vbCrLf & "-----------------" & vbCrLf
          BodyTextto = BodyTextto + BottTxt & vbCrlf & Map & "nyhedsbrev_confirm.asp?unsign=" & IDpas & vbCrlf & vbCrlf
                BodyTextto = BodyTextto + com
%>
<!--#include file="script/nyhedsbrev_mailsend.inc"-->
<%
              send.movenext
      loop
      If ErrorResult="" then
        Response.write ("<h2 align=""center"">Nyhedsmailen er nu sendt til alle modtagerne!</h2>" & vbCrlf)
      End if
    Send.close
        Set send = nothing
        rs.close
Set rs = nothing
        End if
    Response.Write ("</td></tr></table>" & vbCrlf)
    Response.Write ("</td></tr></table>" & vbCrlf)
  else
%>

<FORM action="nyhedsbrev_admin.asp?action=send" METHOD="POST">
<table bgcolor="#efefef" summary="view" border="0" cellpadding="0" cellspacing="4" width="100%" align="center">
<tr>
<td ALIGN="LEFT" VALIGN="TOP" width="10%"><DIV ID=PB>Emne</DIV></td>
<td ALIGN="center" width="90%">
<INPUT TYPE="TEXT" class="text" NAME="subject" class="text" SIZE="50" style="width:90%;">
</td></tr>
<tr>
<td ALIGN="left" VALIGN="TOP" width="10%"><DIV ID=PB>Indholdet</DIV></td>
<td ALIGN="center" width="90%">
<textarea class="textarea" COLS="50" ROWS="15" NAME="bodytext" class="text"></textarea>
</td>
</tr>
<tr>
<td ALIGN="LEFT" width="10%">&nbsp;</td>
<td ALIGN="center" width="90%"><input type="submit" SIZE="50" name="mode" style="width:90%;background-color:#888888;color:#efefef;" class="textbutton" value=">> Send nyhedsbrevet <<">
</td></tr></table>
</td></tr></table>
</td></tr></table>
</FORM>

<%
End if

Response.Write ("<DIV ID=PCB><A HREF=""nyhedsbrev_admin.asp""> Tilbage </A></DIV>" & vbCrlf)

End if

conn.close
set conn = nothing
%>

</BODY>
</HTML>
Avatar billede dk_akj Nybegynder
09. maj 2003 - 09:00 #1
Forslag til ny kode på adminside.

//akj

<!-- #INCLUDE FILE="nyhedsbrev_header.asp" -->

<HTML>
<HEAD>
<LINK REL="stylesheet" HREF="../css/admstyle_screen.css" TYPE="TEXT/CSS" MEDIA="screen">

<TITLE> Administration af nyhedsbrev</TITLE>
<% if mode = "delete" then
SQL = "SELECT * FROM mailinglist"
  set rs = conn.execute(SQL)
  dim ret
  do while not rs.eof
      ret = request.form("delete_" & rs("idpas"))
      if ret > 0 then
        conn.execute("delete from mailinglist where idpas = '" & rs("idpas") & "'")
    end if
   
    rs.movenext
  loop


 

End if
%>

</HEAD>
<BODY>
<BR><DIV ID=H1>Administration af nyhedsbrev</DIV><BR><BR>

<%
    if status = "ReturnedTup" then
          SQL = "Update mailinglist Set ReturnedT= ReturnedT +1 WHERE IDpas='"& IDpas &"';"
          conn.execute(SQL)
          Response.Clear
          Response.Redirect("nyhedsbrev_admin.asp")
      elseif status="Reset" then
          SQL = "Update mailinglist Set ReturnedT= 0 WHERE IDpas='"& IDpas &"';"
          conn.execute(SQL)
          Response.clear
          Response.Redirect("nyhedsbrev_admin.asp")
      End if
%>

<table width="100%" summary="table" cellpadding="0" cellspacing="2" border="0" align="center">
  <tr>
  <td align="center">
  <%
  Set rsThis = Conn.Execute ("SELECT COUNT(*) AS Antal FROM mailinglist where Confirm=0")
  if rsThis("Antal")= "1" then
    ord="modtager"
  else
    ord="modtager"
'    ord="recipients"
  End if
  Response.Write ("<DIV ID=PC>" & rsThis("Antal") & "  ikke aktive " & ord & " og ")
  Set rsThis = Conn.Execute ("SELECT COUNT(*) AS Antal FROM mailinglist where Confirm=1")
  Response.Write (rsThis("Antal")& " aktive modtager</DIV><BR>")
  rs.close
  Set rs = nothing
  Response.Write ("</td>" & vbCrlf)
  Response.Write ("</tr>" & vbCrlf)
  Response.Write ("</table>" & vbCrlf)

  Response.Write ("<DIV STYLE='text-align:center'>")
Response.Write ("<BR><DIV ID=PCB><A HREF=""nyhedsbrev_admin.asp?action=send""> Send nyhedsmail </A></DIV><BR><BR>")

  Response.Write ("<table summary=""view"" border=""0"" cellpadding=""1"" cellspacing=""0""")
  Response.Write ("width=""100%"" align=""center"">" & vbCrlf)
  Response.Write ("<tr>" & vbCrlf)
  Response.Write ("<td align=""center"">")
  if action="" then

'FORMULAR START ***********************************************
  Response.Write ("<FORM NAME='regform' METHOD='post' ACTION='nyhedsbrev_admin.asp?mode=delete'>")
response.write "<input type=submit value='Slet valgte'>"
    Response.Write ("<TABLE summary=""view"" WIDTH=""95%"" BORDER=""0"" cellpadding=""0"" cellspacing=""7""")
  Response.Write ("width=""100%"" align=""center"">" & vbCrlf)
  if sort="" then
    sort="Confirm_ASC"
  End if
  order = Split(sort, "_", -1, 1) 
  Select case order(1)
    case "DESC"
          orderstr="ASC"
    case else
          orderstr="DESC"
  End Select
  Response.Write ("<tr>" & vbCrlf)
  Response.Write ("<td align=""left"">&nbsp;</td>")
  Response.Write ("<td align=""left""><a href=""nyhedsbrev_admin.asp?sort=Name_" & orderstr & """>Navn</A></td>")
  Response.Write ("<td align=""left""><a href=""nyhedsbrev_admin.asp?sort=Emailad_" & orderstr & """>Email</a></td>")
  Response.Write ("<td align=""left""><a href=""nyhedsbrev_admin.asp?sort=Timenow_" & orderstr & """>Tilmeldt</a></td>")
  Response.Write ("<td align=""left""><a href=""nyhedsbrev_admin.asp?sort=Confirm_" & orderstr & """> Status </a>")
    if status<>"" then
        Response.Write ("[ <A HREF=""nyhedsbrev_admin.asp"">Normal</a> ]")
    else
        Response.Write ("[ <A HREF=""nyhedsbrev_admin.asp?status=Active"">Active?</A> ]")
    End if
    Response.Write("</td>" & vbCrlf)
    Response.Write("</tr>" & vbCrlf)
  SQL = "SELECT * FROM mailinglist ORDER BY " & order(0) & " " & order(1) & ";"
  set slet = conn.execute(SQL)
    do while not slet.eof
      Felt = slet("Timenow")
            Emailad = slet("Emailad")
            idPas = slet("idPas")
            name = slet("name")
            confirm = slet("confirm")
            ReturnedT = slet("ReturnedT")
      if ConvertDate(NOW-7)< Felt then
        newPost = "<div class=""yellow"">New</div>"
      else
        newPost = "&nbsp;"
      End if
      NewStr = Split(Felt, "-", 6, 0)   
      EStr = NewStr(2) & "/" & NewStr(1) & " " & NewStr(0) & " " & NewStr(3) & ":" & NewStr(4)& ":" & NewStr(5) & " " & newPost

' BAGGRUNDSFARVE
tal = tal + 1
dim tal
if tal MOD 2 = 0 then

Response.Write ("<TR bgcolor=#e5e5e5>" & vbCrlf)
else
Response.Write ("<TR bgcolor=#ffffff>" & vbCrlf)
end if

'Checkboksen ****************************************************

          Response.Write ("<td align=""left""><a HREF=""nyhedsbrev_admin.asp?IDpas=" & IDpas & "&amp;mode=delete"" class=""yellow""><INPUT TYPE='checkbox' NAME='delete_"& idpas &"' VALUE=1>Slet</a></td>")
      Response.Write ("<td align=""left"">" & name & "</td>")
          Response.Write ("<td align=""left""><a href=""mailto:" & emailad & """>" & emailad & "</a></td>")
      Response.Write ("<td align=""left"">" & EStr & "</td>")
        if status = "" then
            Response.Write ("<td align=""left""> " & ReturnedT & " ")
            Response.Write (" [<A HREF=""nyhedsbrev_admin.asp?status=ReturnedTup&amp;IDpas="& IDpas &"""> Up </a>|")
            Response.Write ("<a href=""nyhedsbrev_admin.asp?status=Reset&amp;IDpas="& IDpas &"""> Reset </a>]</td>")
          else
            Response.Write ("<td align=""left"">" & Confirm & "</td>") 
          End if
      Response.Write ("</tr>") & vbCrlf
      slet.movenext
    loop

    Response.Write ("</table>" & vbCrlf)
      Response.Write ("</td>" & vbCrlf)
    Response.Write ("</tr>" & vbCrlf)
      Response.Write ("</table>" & vbCrlf)
      Response.Write ("<p align=""center""><INPUT TYPE='BUTTON' VALUE='Slet'></FORM></DIV>")

'FORMULAR SLUT **************************************'

    Response.Write ("<BR><BR><DIV ID=PCB><A HREF=""nyhedsbrev_admin.asp?action=send""> Send nyhedsmail </A></DIV><BR><BR>")
  elseif action = "send" then
    Response.Write ("<table width=""100%"" cellpadding=""0"" cellspacing=""0"">" & vbCrlf)
    Response.Write ("<tr>" & vbCrlf)
      Response.Write ("<td align=""left"">" & vbCrlf)
    if mode = ">> Send nyhedsbrevet <<" then
          SQL = "SELECT * FROM mailinglist WHERE confirm=1;"
            set send = conn.execute(SQL)
        if (send.BOF AND send.EOF) then
      Response.Write ("<h2>No recipients!</h2>" & vbCrlf)
    else
        Do while not send.eof
        Name= send("Name")
        TopTxt = Replace(TopTxt,"[Username]",Name)
                IDpas= send("IDpas")   
              Emailad= Send("Emailad")
              subject= Request("subject")

                BodyTextto = TopTxt & vbCrLf & vbCrLf & bodytext & vbCrLf & vbCrLf & "-----------------" & vbCrLf
          BodyTextto = BodyTextto + BottTxt & vbCrlf & Map & "nyhedsbrev_confirm.asp?unsign=" & IDpas & vbCrlf & vbCrlf
                BodyTextto = BodyTextto + com
%>
<!--#include file="script/nyhedsbrev_mailsend.inc"-->
<%
              send.movenext
      loop
      If ErrorResult="" then
        Response.write ("<h2 align=""center"">Nyhedsmailen er nu sendt til alle modtagerne!</h2>" & vbCrlf)
      End if
    Send.close
        Set send = nothing
        rs.close
Set rs = nothing
        End if
    Response.Write ("</td></tr></table>" & vbCrlf)
    Response.Write ("</td></tr></table>" & vbCrlf)
  else
%>

<FORM action="nyhedsbrev_admin.asp?action=send" METHOD="POST">
<table bgcolor="#efefef" summary="view" border="0" cellpadding="0" cellspacing="4" width="100%" align="center">
<tr>
<td ALIGN="LEFT" VALIGN="TOP" width="10%"><DIV ID=PB>Emne</DIV></td>
<td ALIGN="center" width="90%">
<INPUT TYPE="TEXT" class="text" NAME="subject" class="text" SIZE="50" style="width:90%;">
</td></tr>
<tr>
<td ALIGN="left" VALIGN="TOP" width="10%"><DIV ID=PB>Indholdet</DIV></td>
<td ALIGN="center" width="90%">
<textarea class="textarea" COLS="50" ROWS="15" NAME="bodytext" class="text"></textarea>
</td>
</tr>
<tr>
<td ALIGN="LEFT" width="10%">&nbsp;</td>
<td ALIGN="center" width="90%"><input type="submit" SIZE="50" name="mode" style="width:90%;background-color:#888888;color:#efefef;" class="textbutton" value=">> Send nyhedsbrevet <<">
</td></tr></table>
</td></tr></table>
</td></tr></table>
</FORM>

<%
End if

Response.Write ("<DIV ID=PCB><A HREF=""nyhedsbrev_admin.asp""> Tilbage </A></DIV>" & vbCrlf)

End if

conn.close
set conn = nothing
%>

</BODY>
</HTML>
Avatar billede -mundi- Nybegynder
09. maj 2003 - 09:06 #2
Jeg synes du skulle tage og slette/erstatte de email adresser der er i databasen, så der ikke er nogen der finder på at misbruge dem.
Avatar billede magnus_b Nybegynder
09. maj 2003 - 09:54 #3
-mundi- Du mener jeg er for naiv at tro de ikke vil blive misbrug? Du har nok ret. De er nu slettet og min kode spiller.
Avatar billede -mundi- Nybegynder
09. maj 2003 - 09:55 #4
Tjaa, desværre bliver man nødt til at sige sådan, det er set før at folk har fået slettet databaser fordi de er kommet til at poste deres mySQL passwords herinde :-/
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