Avatar billede fastpoint Nybegynder
03. august 2002 - 17:44 Der er 9 kommentarer og
1 løsning

Min toplist laver fejl

jeg sidder her og prøver på at gøre mig klogerer på ASP. Jeg er i gang med at lave en toplist og det går da også fint, men der er en fejl i dette script.. Når man man har oprettet sig som bruger får man et link+id ...id bruges til at finde brugeren i databasen, men da jeg så testede og ved at oprette et par brugere og slettede en af dem opdagede jeg fejlen. Scriptet glemmer at ændre ID til den nye brugers ID... den tager den næst nyeste.. det skal den som sagt ikke gøre for så  er det ikke den rigtige som får de stemmer som han skal have.. her er scriptet...

ps.. der hvor den udskriver linket man skal bruge ser sådan ud... intId = rs("id") det er sikkert bare det jeg skal lave om men til hvad?



<%    response.buffer=true %>
<HTML>
<HEAD>
<TITLE><%=titel%></TITLE>
<script type="text/JavaScript">
function dus()
{
window.status = "Top";
setTimeout( "dus()", "5" );
}
dus();
</script>
<style type="text/css">
.Submitknap {
  background-color : #e9e9e9;
  border : 1px solid;
  border-bottom : 1px solid Gray;
  border-top : 1px solid Silver;
  border-left : 1px solid Silver;
  border-right : 1px solid Gray;   
  font-size: 11px;
  font-weight: plain;
}
</style>
<style>
a:link        {text-decoration: none}
a:active    {text-decoration: none}
a:visited    {text-decoration: none}
a:hover        {color: #2E6C92; text-decoration: none}
.box        {color: #193A4D; border: 1px solid #D0D5D9; background-color: #F3F4F5; font-family:Verdana; font-size:8pt}
td        {font-family: Tahoma; font-size: 8pt}
body        {font-family: Tahoma; font-size: 8pt; scrollbar-face-color: #F3F4F5;scrollbar-shadow-color: #ADB6BC; scrollbar-highlight-color: #ADB6BC; scrollbar-3dlight-color: #F3F4F5; scrollbar-darkshadow-color: #F3F4F5; scrollbar-track-color: #FFFFFF; scrollbar-arrow-color: #ADB6BC}
.link {  text-decoration: none}
</style>
</head>
<body bgcolor="#FFFFFF" text="#000000" link="#0066CC" vlink="#0066CC" alink="#0066CC">
<div align="center"> </div>
<table width="760" border="0" cellspacing="0" cellpadding="0" align="center">
  <tr>
    <td bgcolor="#AEBCC7">
      <table width="760" border="0" cellspacing="1" cellpadding="3">
        <tr>
          <td bgcolor="#eef6fb" height="19"><font color="#003399"><b><font color="#557689">LinkByt</font></b></font></td>
        </tr>
        <tr>
          <td bgcolor="#FFFFFF">
            <table width="100%" border="0" cellspacing="0" cellpadding="2">
              <tr>
                <td valign="top">
                  <p>
                    <%
dim back,dispmsg, strPassword, strTitle
dispmsg=""
back=0   
strPassword = request.form("password")
strTitle = request.form("title")


strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("toplist.mdb")
Set myConn = Server.CreateObject("ADODB.Connection")

if (len(strPassword)<4) then
        dispmsg="Lav Dit PassWord on knægt"
            response.clear
            response.redirect "newuser.asp?dispmsg="&dispmsg
            response.end

    end if

myConn.Open strDSN

    strSQL = "SELECT * From toplist WHERE title='"& strTitle &"'"
    Set rs = myConn.Execute(strSQL)

  if not rs.eof then
      dispmsg="Denne titel er allerede i brug"
      response.clear
      response.redirect "newuser.asp?dispmsg="&dispmsg
      response.end
  end if

Set RS = Nothing

Set RS = Server.CreateObject("ADODB.RECORDSET")
strSQL = "SELECT * From toplist Order by id Desc"

RS.Open strSQL, myConn, 1, 3

Rs.Addnew
Rs("title") = strTitle
Rs("url") = request.form("url")
Rs("description") = request.form("description")
Rs("email") = request.form("email")
Rs("dato") = date()
Rs("password") = Lcase(strPassword)
Rs.Update

Rs.MoveFirst

intId = rs("id")

Rs.Close
Set RS = Nothing
myConn.Close
Set myConn = Nothing

Response.Write "<font color=red><b>Tak </font></b><br><br>Title:  <font color=red>"&request.form("title")&"</font><br>URL: <font color=red>"&request.form("url")&"</font><br>Description: <font color=red>"&request.form("description")&"</font><br>E-Mail: <font color=red>"&request.form("email")&"</font><font color=red>"&request.form("email")&"</font><br>Password: <font color=red>"&request.form("password")&"</font><br>Your Text Link: <font color=red>http://in.asp?id="& intId &"</font>"
%>
                  <p><br>
                se stats her <a href="http" target="_blank">klik</a><br>
                    lav om<a href="edit_toplist.asp" target="_blank">muh </a>.
                </table>
          </td>
        </tr>
      </table>
    </td>
  </tr>
</table>
</body>
</html>
Avatar billede netsrac Praktikant
03. august 2002 - 17:45 #1
Fjern linien Rs.MoveFirst
Avatar billede fastpoint Nybegynder
03. august 2002 - 17:47 #2
jeg tester lige:)
Avatar billede fastpoint Nybegynder
03. august 2002 - 18:00 #3
det virker... er det i orden jeg giver dig flere point hvis du kan hjælpe mig med en lille ting mere?

Det er meningen at toplisten skal sortere hjemmesiderne efter hvor mange hits de sender og det gør den også i starten, men så begynder den at gå i kage og de sorteres bare helt forkert... de skal sorteres efter [ind]

her er scriptet.. jeg har sat den til order by ind, men det lader ikke til at være særlig optimalt... jeg forhøjer pointindsatsen selvfølgelig


<%

strSQL = "SELECT * From toplist where Approved=true ORDER BY ind desc"
Set rs = myConn.Execute(strSQL)
count = 0
Response.Write "<table width='100%' border='0' cellspacing='2'><tr>"
t = 0
ti = 0
Do until ti = 15 OR rs.eof
  t = t + 1
    count = count+1
    Response.Write "<td>" & t & ". <a href='out2.asp?id=" & rs("id") & "'>" & rs("title") & "</a></td>"
        if count = 3 then
            response.write "</tr><tr>"
            count = 0
        end if
rs.movenext
ti = 15 + 1
loop
Response.Write"</tr></table>" 


set rs = nothing
myConn.close
set myconn = nothing
%>
Avatar billede netsrac Praktikant
03. august 2002 - 18:02 #4
Er ind et tal felt ? Hvis ikke, er det derfor, det skal det være!
Avatar billede fastpoint Nybegynder
03. august 2002 - 18:06 #5
nej det er et text felt... vil skal jeg ændre på noget i scriptet hvis jeg laver det om til et tal felt?
Avatar billede netsrac Praktikant
03. august 2002 - 18:09 #6
Det kommer an på hvordan du har kodet det,muligvis vil du, men den eneste måde du kan få den til at sortere ordentligt er ved at lave det til et tal.
Avatar billede fastpoint Nybegynder
03. august 2002 - 18:09 #7
det skal jeg ikke... jeg skal bare slette alt i database så virker det
Avatar billede netsrac Praktikant
03. august 2002 - 18:11 #8
Jo du skal lave det om til et tal felt, tro mig, hvis ikke du gør det garanterer jeg for at du får problemer på et tidspunkt!
Avatar billede fastpoint Nybegynder
03. august 2002 - 18:23 #9
det har jeg gjort nu:)

Hvis du har tid så vil jeg gerne arbejde på en sidste ting [opretter selvfølgelig et spørgsmål til det]

Jeg vil gerne have en IP del i scriptet..
Dvs. så den registrere alle indkommende hits... Det skal bare være et fældes IP felt.. dvs. hvis en side har sendt et hit så kan den samme besøgende ikke også gå ind på en anden hjemmeside og sende den et hit. Desuden skal denne besøgendes IP kun kunne bruges en gang pr. 24 timer..

Jeg kan vise dig IN.asp scriptet ....det er ganske simpelt, men det der med ip er jeg slet ikke godt til..
Avatar billede netsrac Praktikant
03. august 2002 - 18:25 #10
Opret du bare et nyt spm, gider jeg ikke hjælpe, er der sikkert en anden :)
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