If Session("login") = True Then brugernavn = Session("brugernavn") Else brugernavn = Request.Form("bruger") End If oprettet = Now besked1 = Request.Form("besked") besked1 = Replace(besked1, "'", "''") besked1 = Replace(besked1, vbCrLf, " ") besked = besked1 If Session("login") = True Then brugerid = Session("id") Else brugerid = "0" End If ip = Request.ServerVariables("REMOTE_ADDR")
If brugernavn="" Or besked="" Or brugerid="" then Response.Write "<font color=black><b>Du</b> skal huske at skrive noget!</font>" Else strSQL="INSERT INTO tagwall (brugernavn,oprettet,besked,brugerid,ip) VALUES('" & brugernavn & "','" & oprettet & "','" & besked & "','" & brugerid & "','" & ip & "')" Conn.Execute(strSQL)
Response.Redirect("default.asp") End If End If
Set Conn = Nothing
%> <br><BR> <% if mode = "" then Set myConn = Server.CreateObject("ADODB.Connection") myConn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("../database.mdb") strSQL = "SELECT top 35 * FROM tagwall order by id desc" Set rs = myConn.Execute(strSQL) Do until rs.eof %>
If Request.QueryString("mode") = "new" Then If Session("login") = True Then brugernavn = Session("brugernavn") Else brugernavn = Request.Form("bruger") End If
oprettet = Now besked1 = Request.Form("besked") besked1 = Replace(besked1, "'", "''") besked1 = Replace(besked1, vbCrLf, " ") besked = besked1
If Session("login") = True Then brugerid = Session("id") Else brugerid = "0" End If
ip = Request.ServerVariables("REMOTE_ADDR")
If brugernavn = "" Or besked = "" Or brugerid = "" Then Response.Write "<font color=black><b>Du</b> skal huske at skrive noget!</font>" Else strSQL = "INSERT INTO tagwall (brugernavn,oprettet,besked,brugerid,ip) VALUES('" & brugernavn & "','" & oprettet & "','" & besked & "','" & brugerid & "','" & ip & "')" Conn.Execute(strSQL)
Response.Redirect("default.asp") End If End If
Set Conn = Nothing %> <br><BR> <% If mode = "" Then Set myConn = Server.CreateObject("ADODB.Connection") myConn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("../database.mdb") strSQL = "SELECT top 35 * FROM tagwall order by id desc" Set rs = myConn.Execute(strSQL)
- bliver værdien fra status-feltet i din tabel udskrevet lige efter navnet på den bruger som har postet en tag.
Synes godt om
Slettet bruger
18. august 2005 - 16:33#5
Jeg har fundet fejlen.
Men jeg har en tabel der hedder "brugere" og deri ligger feltet "admin" som i kan se her:
<% if mode = "" then Set myConn = Server.CreateObject("ADODB.Connection") myConn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("../database.mdb") strSQL = "SELECT top 35 * FROM tagwall order by id desc" Set rs = myConn.Execute(strSQL) Do until rs.eof %>
Henter den kun fra tagwall. Hvordan kan jeg så gøre sådan at den også henter fra den anden tabel.
Synes godt om
Slettet bruger
18. august 2005 - 16:40#6
Undskyld jeg skrev "admin" det var forkert den er "status"
Den må du lige gerne forklare en gang til... I den stump kode kan jeg ikke se nogen tabel "brugere" - kun en tabel "tagwall". Desuden forstår jeg ikke helt hvad du snakker om feltet "admin" om? Der var jo "status" der skulle indsættes.
Hvis jeg starter med en besked i tabellen "tagwall" så kan jeg finde ud af hvem der har postet den ved at kigge på feltet "brugerid". Korrekt? Hvis jeg skal finde den samme bruger over i tabellen "brugere" så må der være et felt i den rtabel som svare til det. Altså hvis jeg ved at brugerid er f.eks. 42 for en given besked så ved jeg at jeg skal kigge efter 42 i et af felterne i "brugere". Hvad hedder det felt?
Synes godt om
Slettet bruger
18. august 2005 - 16:53#13
What. Jeg fatter ikke det der. Du bliver nød til at bruge nogen mellerum og så ikke have nogle stavebøffer.
Der var en eneste stavefejl, og der er de mellemrum der skal være. Skidt pyt med det.
Hvilke felter har du i din tabel "brugere"?
Synes godt om
Slettet bruger
18. august 2005 - 17:00#15
ID (auto), blok, brugernavn, kode, info, navn, kon, alder, hjemmeside, email, icq, msn, eyeball, sidste_login, forste_login, ip, online, status
Jeg skal lige formulere et mystisk felt nemlig "blok". Dette felt bruge når der er en bruger der skal blokeres. Så er der oprettet dette felt for så kan jeg skrive den er blokeret.
If Request.QueryString("mode") = "new" Then If Session("login") = True Then brugernavn = Session("brugernavn") Else brugernavn = Request.Form("bruger") End If
oprettet = Now besked1 = Request.Form("besked") besked1 = Replace(besked1, "'", "''") besked1 = Replace(besked1, vbCrLf, " ") besked = besked1
If Session("login") = True Then brugerid = Session("id") Else brugerid = "0" End If
ip = Request.ServerVariables("REMOTE_ADDR")
If brugernavn = "" Or besked = "" Or brugerid = "" Then Response.Write "<font color=black><b>Du</b> skal huske at skrive noget!</font>" Else strSQL = "INSERT INTO tagwall (brugernavn, oprettet, besked, brugerid, ip) VALUES('" & brugernavn & "', '" & oprettet & "', '" & besked & "', '" & brugerid & "', '" & ip & "')" Conn.Execute(strSQL)
Response.Redirect("default.asp") End If End If
Set Conn = Nothing %> <br><BR> <% If mode = "" Then Set myConn = Server.CreateObject("ADODB.Connection") myConn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("../database.mdb") strSQL = "SELECT TOP 35 t.* FROM tagwall AS t, brugere AS b WHERE t.brugerid = b.id ORDER BY t.id DESC" Set rs = myConn.Execute(strSQL)
strSQL = "SELECT TOP 35 t.* FROM tagwall AS t, brugere AS b WHERE t.brugerid = b.id ORDER BY t.id DESC"
- til:
strSQL = "SELECT TOP 35 t.*, b.status FROM tagwall AS t, brugere AS b WHERE t.brugerid = b.id ORDER BY t.id DESC"
Synes godt om
Slettet bruger
18. august 2005 - 17:07#18
Microsoft VBScript compilation error '800a0409'
Unterminated string constant
/raunsbaek/tagwall/default.asp, line 55
strSQL = "SELECT TOP 35 * FROM tagwall AS t, brugere AS b WHERE t.brugerid = b.id ORDER ---------------------------------------------------------------------------------------^
Synes godt om
Slettet bruger
18. august 2005 - 17:09#19
Ændre lige fejl meddelsen til "Siden kan ikke vises"
If Session("login") = True Then brugernavn = Session("brugernavn") Else brugernavn = Request.Form("bruger") End If oprettet = Now besked1 = Request.Form("besked") besked1 = Replace(besked1, "'", "''") besked1 = Replace(besked1, vbCrLf, " ") besked = besked1 If Session("login") = True Then brugerid = Session("id") Else brugerid = "0" End If ip = Request.ServerVariables("REMOTE_ADDR")
If brugernavn="" Or besked="" Or brugerid="" then Response.Write "<font color=black><b>Du</b> skal huske at skrive noget!</font>" Else strSQL="INSERT INTO tagwall (brugernavn,oprettet,besked,brugerid,ip) VALUES('" & brugernavn & "','" & oprettet & "','" & besked & "','" & brugerid & "','" & ip & "')" Conn.Execute(strSQL)
Response.Redirect("default.asp") End If End If
Set Conn = Nothing
%> <br><BR> <% if mode = "" then Set myConn = Server.CreateObject("ADODB.Connection") myConn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("../database.mdb") strSQL = "SELECT TOP 35 t.*, b.status FROM tagwall AS t, brugere AS b WHERE t.brugerid = b.id ORDER BY t.id DESC" Set rs = myConn.Execute(strSQL) Do until rs.eof %>
Du åbner databasen i Access. Derefter åbner du tabellen i design-mode. Så går du ned til feltet "brugerid". Derefter trykker du på den lille pil i enden af feltet hvor der står "Tekst", og vælger så "Tal" i stedet.
MEN! Tag lige først en sikkerhedskopi, sådan at du har noget at falde tilbage på hvis det skulle fejle.
Synes godt om
Slettet bruger
18. august 2005 - 17:44#37
Hvordan åbner man den i design-mode. Jeg er altså ikke så god til acces - Endnu.
Nu har jeg desværre ikke lige en Access foran mig sådan at jeg kan guide dig igennem. Så vidt jeg kan huske, så er der en lille kvadratisk knap med noget som ligner en blå tegnetrekant - det er design-knappen.
Synes godt om
Slettet bruger
18. august 2005 - 17:48#39
Det er lige meget har fundet ud af..
Synes godt om
Slettet bruger
18. august 2005 - 17:51#40
Fejl meddelse:
# ADODB.Recordset error '800a0cc1'
Item cannot be found in the collection corresponding to the requested name or ordinal.
If Request.QueryString("mode") = "new" Then If Session("login") = True Then brugernavn = Session("brugernavn") Else brugernavn = Request.Form("bruger") End If
oprettet = Now besked1 = Request.Form("besked") besked1 = Replace(besked1, "'", "''") besked1 = Replace(besked1, vbCrLf, " ") besked = besked1
If Session("login") = True Then brugerid = Session("id") Else brugerid = "0" End If
ip = Request.ServerVariables("REMOTE_ADDR")
If brugernavn = "" Or besked = "" Or brugerid = "" Then Response.Write "<font color=black><b>Du</b> skal huske at skrive noget!</font>" Else strSQL = "INSERT INTO tagwall (brugernavn, oprettet, besked, brugerid, ip) VALUES('" & brugernavn & "', '" & oprettet & "', '" & besked & "', " & brugerid & ", '" & ip & "')" Conn.Execute(strSQL)
Response.Redirect("default.asp") End If End If
Set Conn = Nothing %> <br><BR> <% If mode = "" Then Set myConn = Server.CreateObject("ADODB.Connection") myConn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("../database.mdb") strSQL = "SELECT TOP 35 t.*, b.status FROM tagwall AS t, brugere AS b WHERE t.brugerid = b.id ORDER BY t.id DESC" Set rs = myConn.Execute(strSQL)
Det er meget mystisk at den pludseligt begynder at fejle på den måde. Det skulle den bestem ikke - den skulle allerhøjest give os en fejlmeddelelse i stil med den fra 18/08-2005 17:58:35, altså en databasefejl. Ikke nogen blank side.
Prøv at poste din nuværende kode. Jeg bliver nødt til at have koden for at kunne finde fejlen.
If Request.QueryString("mode") = "new" Then If Session("login") = True Then brugernavn = Session("brugernavn") Else brugernavn = Request.Form("bruger") End If
oprettet = Now besked1 = Request.Form("besked") besked1 = Replace(besked1, "'", "''") besked1 = Replace(besked1, vbCrLf, " ") besked = besked1
If Session("login") = True Then brugerid = Session("id") Else brugerid = "0" End If
ip = Request.ServerVariables("REMOTE_ADDR")
If brugernavn = "" Or besked = "" Or brugerid = "" Then Response.Write "<font color=black><b>Du</b> skal huske at skrive noget!</font>" Else strSQL = "INSERT INTO tagwall (brugernavn, oprettet, besked, brugerid, ip) VALUES('" & brugernavn & "', '" & oprettet & "', '" & besked & "', " & brugerid & ", '" & ip & "')" Conn.Execute(strSQL)
Response.Redirect("default.asp") End If End If
Set Conn = Nothing %> <br><BR> <% If mode = "" Then Set myConn = Server.CreateObject("ADODB.Connection") myConn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("../database.mdb") strSQL = "SELECT TOP 35 tagwall.*, brugere.status FROM tagwall, brugere WHERE tagwall.brugerid = brugere.id ORDER BY tagwall.id DESC" Set rs = myConn.Execute(strSQL)
Som sagt virker det helt fint hos mig - jeg synes da at vi skal gøre den helt færdig før at der deles point ud. Det er sikkert bare en lille dum ting som lige skal på plads. :^)
Men det kræver jo at du hjælper lidt med!
Synes godt om
Slettet bruger
01. september 2005 - 15:16#53
Jeg er begyndt på at lære lidt PHP derfor har jeg lagt ASP til side - point eller ikke?
PHP er skam også et lækkert sprog, men hvis du nogensinde skulle have lyst til at gøre denne her helt færdig, så kan du bare tage tråden op igen her i dette spørgsmål.
... i mellemtiden smider jeg så et svar :^)
Synes godt om
Ny brugerNybegynder
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.