Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


En fråga som jag funderar på inget fel på det sättet som oftast man har.

Postades av 2004-03-31 11:23:40 - Kristoffer Ljungqvist, i forum asp - allmänt, Tråden har 4 Kommentarer och lästs av 532 personer

Jag har en bugg på sidan som jag inte förstår var det uppstår.
För det är inget fel men det förvirrar folk om man säger så.
Därför ställer jag frågan med koden för se om någon hänger med vad som är fel.

<code>
<%
If Request.QueryString("Guest") = "True" Then
Set Con = Server.CreateObject("Adodb.Connection")
Con.open "Driver={Microsoft Access Driver (*.mdb)};Dbq=" & Server.MapPath("../../Db/Community.mdb") & ";"
Set Rst = Con.execute("Select * From User Where id='" & Session("Userid") & "'")
Set RecSet = Con.execute("Select * From Inlogning Where Userid='" & Request.QueryString("Userid") & "'")
IF not RecSet.eof Then
Response.write Rst("User") & "s gästbok&nbsp;" & RecSet("Guestbook") & "&nbsp;"
Else
End if
%>
</code>
När man går in i gästboken står det rätt användarnamn till rätt användares gästbok.
Skriver jag ett gästboks inlägg till användaren så uppdateras sidan och nu står det inte samma användarnman.
NU står det användarnamnet från den som skrev gästboks inlägget. Och inte användarnamnet til lden man skrivit gästboks inlägget till.
Jag förstår inte var felet ligger som gör att den ändrar användarnman.
Sen ska jag kolla igenom varför gästboken inte vill lista det sista inlägget så ska se om jag kan hitta en kod som uppdatera sidan 1 gång med samma url som det är när man koimmer in.
I mitt fal guestbook.asp?Guest=True&Userid=" Rst("Id")
Så man kan få se det sista gästboks inlägget man skrivit.
Eller om man ska göra på något annat sätt.
För som det är nu får man går ut gästboken och sen in igen för se sista gästboks inlägget man skrivit.


Svara

Sv: En fråga som jag funderar på inget fel på det sättet som

Postades av 2004-03-31 22:01:19 - Andreas Hillqvist

Kan du bifoga hele koden för din gästbok så tvivlar jag inte på att jag kan lösa ditt problem.


Svara

Sv: En fråga som jag funderar på inget fel på det sättet so

Postades av 2004-04-01 00:42:00 - Pelle Johansson

Jag tror att du mixar ihop användarid med den som postar och den som skall få posten. Se till att din session för userid inte byts till den du postar till. Troligtvis är det detta du får fel på.


Svara

Sv: En fråga som jag funderar på inget fel på det sättet so

Postades av 2004-04-01 14:07:23 - Kristoffer Ljungqvist

<Style>
TextArea.formular
{
position: Absolute;
Right: 20px;
Top: 90px;
font-family: Georgia;
}
Input.Skicka
{
position: Absolute;
<!-- Right: 27px; -->
<!-- Top: 50px; -->
Top: 265px;
}
</Style>
<!--#INCLUDE FILE="pagin.asp"-->
<Form method="post" Action="guestbook.asp?Guest=True&Userid=<% = Request.QueryString("Userid") %>">
<TextArea Class="Formular" Cols="18" Rows="10" Name="Messages">
</TextArea>
<input Class="Skicka" type="Submit" Value="Skicka inl&auml;gg">
</Form>
<% 'rad 23
If Session("Userid") = "" THen
Response.redirect "http://pluget.nu/index.htm"
Else
End if
If Request.QueryString("Guest") = "True" Then
Set Con = Server.CreateObject("Adodb.Connection")
Con.open "Driver={Microsoft Access Driver (*.mdb)};Dbq=" & Server.MapPath("../../Db/Community.mdb") & ";"
Set Rst = Con.execute("Select * From User Where id='" & Session("Userid") & "'")
Set RecSet = Con.execute("Select * From Inlogning Where Userid='" & Request.QueryString("Userid") & "'")
IF not RecSet.eof Then
Response.write Rst("User") & "s gästbok&nbsp;" & RecSet("Guestbook") & "&nbsp;"
Else
End if
If not rst.eof Then
sql ="Insert Into Guestbook"
Sql = sql & "(FromUser,ToUser,Messages)"
Sql = Sql & "Values('" & Rst("User") & "','" & Request.QueryString("Userid") & "','" & Replace(Request.Form("Messages"),"'","'") & "')"
'Response.write SQL
If Request.Form("Messages") = "" Then
'inget vissas
'Response.write "G&auml;stboks inl&auml;gget f&aring;r inte vara null v&auml;rde."
Else 'rad 36
%>
<%
Set Rst1 = Con.execute("Select * From inlogning Where Userid ='" & Replace(Request.QueryString("userid"),"'","''") & "'")
If Not Rst1.eof Then
'Response.write Rst1("Id")
Con.execute("update Inlogning Set Guestbook = Guestbook + 1 Where Id =" & Rst1("Id") & ";")
Set Rst = Con.execute(sql)
Response.write "Gstboks inlgget r sparad!"
Else
' Om det inte hittade id nummret i tabellen Inloggningar och inte kunde uppdatea antal guestbook i fälltet där
End if

end if
else
'else fr om koden ###if not rst.eof sen fr kontrollera om det finns i databasen ja kr det innan else
'det hr krs om inte anvndaren finns med i databasen anvndare
End if

Else
'inget hände
End if

If Session("Userid") = Request.QUeryString("Userid") Then
Response.write "<Table border=""0"">"
'## -- skapa connection object och ppna databasen --
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "Driver={Microsoft Access Driver (*.mdb)};Dbq=" & Server.MapPath("../../Db/community.mdb") & ";"

'## -- hur mnga poster ska visas per sida --
intPageSize = 10 '## -- byt ut till hur mnga poster du vill ska visas per sida -- 'rad 40

'## -- vilken sida ska visas --
intPage = Request.QueryString("page")
'rad 15
'*## -- kontrollera s att inte intPage variabeln r tom --
If intPage = "" Then intPage = 1 '## -- visa frsta sidan som default --

'## -- sql-frga fr att hmta data frn databasen --
strSQL = "SELECT * FROM Guestbook WHERE ToUser = '" & Request.QueryString("Userid") & "' ORDER BY Datum desc, Tid desc"

'## -- skapa och ppna recordsetet --
Set objRS = Server.CreateObject("ADODB.Recordset")
With objRS
.ActiveConnection = objConn
.Source = strSQL

'## -- bestmmer hur mnga poster som varje sida ska best av i recordsetet --
.PageSize = intPageSize
.CursorType = 3
.LockType = 1 'rad 60
.Open
End With

'## -- kontrollera om ngra poster har returnerats eller inte --
If Not objRS.EOF Then
'## -- poster har returnerats --

'## -- visa rtt sida i recordsetet --
objRS.AbsolutePage = intPage

'## -- hur mnga sidor bestr recordsetet av --
intTotalPages = objRS.PageCount

'## -- visa sidnavigeringen --
Call PageNavigation(intPage, intTotalPages)

'## -- loopa igenom recordsetet och visa posterna fr beskaren/anvndaren --
Do Until objRS.EOF OR intCounter >= intPageSize
intCounter = intCounter + 1
Response.write "<Tr>" 'rad 80
Response.write "</Tr>"
Response.write "<Tr>"
Response.write "<Td>Datum & tid " & ObjRs("Datum") & "&nbsp;" & ObjRs("Tid") & "</Td>"
Response.write "</Tr>"
Response.write "<Tr>"
Set Rst = objconn.execute("Select * From User Where User ='" & Objrs("FromUser") & "'")
If not rst.eof then
Response.write "<Tr>"
Response.write "<Td>" & ObjRs("FromUser") & "</Td>"
else
Response.write "<Td>" & objRs("FromUser") & "</Td>"
end if
Response.write "</Tr>"
Response.write "<Tr>"
Response.write "<Td>" & ObjRs("Messages") & "</Td>"
Response.write "</Tr><Tr>" %>
<Script Language="Javascript">
<!-- Begin
function myWin(URL) {
day = new Date();
id = day.getTime();
eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=0,location=0,status=1,statusbar=1,menubar=0,resizable=0,width=380,height=380,left = 262,top = 194');");
}
// End -->
</Script>
<Td width="5" Height="5"><input type="button" onClick="javascript:myWin('besvara.asp?Userid=<%=Rst("id")%>')" value="BESVARA"></Td>
<%
'Response.write "<Td>Besvara</Td>"
Response.write "</Tr><Tr></Tr>"
'## -- printa ut informationen till beskare/anvndaren --

objRS.MoveNext
Loop 'rad 100
Else
'## -- inga poster returnerades --
'## -- visa meddelande att inga poster hittades fr anvndaren --
End If

'## -- rensa up --
objRS.Close
Set objRS = Nothing

objConn.Close
Set objconn = Nothing

'## -- visa sidnavigeringen --
' Call PageNavigation(intPage, intTotalPages)

'## -- include filen nedan innehller sjlva subrutinen fr sidnavigeringen --
Response.write "</Table>"

Else
'Response.Write "Du kan bara lsa gstboks inlggen och inte radera eller besvara dom OBS!" 'rad 120
Response.write "<Table border=""0"">"
'## -- skapa connection object och ppna databasen --
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "Driver={Microsoft Access Driver (*.mdb)};Dbq=" & Server.MapPath("../../Db/community.mdb") & ";"

'## -- hur mnga poster ska visas per sida --
intPageSize = 10 '## -- byt ut till hur mnga poster du vill ska visas per sida --

'## -- vilken sida ska visas --
intPage = Request.QueryString("page")
'rad 15
'*## -- kontrollera s att inte intPage variabeln r tom --
If intPage = "" Then intPage = 1 '## -- visa frsta sidan som default --

'## -- sql-frga fr att hmta data frn databasen --
strSQL = "SELECT * FROM Guestbook WHERE ToUser = '" & Request.QueryString("Userid") & "' ORDER BY Datum desc, Tid desc"

'## -- skapa och ppna recordsetet --
Set objRS = Server.CreateObject("ADODB.Recordset")
With objRS 'rad 140
.ActiveConnection = objConn
.Source = strSQL

'## -- bestmmer hur mnga poster som varje sida ska best av i recordsetet --
.PageSize = intPageSize
.CursorType = 3 'rad 30
.LockType = 1
.Open
End With

'## -- kontrollera om ngra poster har returnerats eller inte --
If Not objRS.EOF Then
'## -- poster har returnerats --

'## -- visa rtt sida i recordsetet --
objRS.AbsolutePage = intPage

'## -- hur mnga sidor bestr recordsetet av --
intTotalPages = objRS.PageCount
'rad 160
'## -- visa sidnavigeringen -- 'rad 161
Call PageNavigation(intPage, intTotalPages)

'## -- loopa igenom recordsetet och visa posterna fr beskaren/anvndaren --
Do Until objRS.EOF OR intCounter >= intPageSize
intCounter = intCounter + 1
Response.write "<Tr>"
Response.write "</Tr>"
Response.write "<Tr>" 'rad 169
Response.write "<Td>Datum & tid " & ObjRs("Datum") & "&nbsp;" & ObjRs("Tid") & "</Td>"
Response.write "</Tr>" 'rad 171
Set Rst = objconn.execute("Select * From User Where User ='" & Objrs("FromUser") & "'")
If not rst.eof then
Response.write "<Tr>"
Response.write "<Td>" & ObjRs("FromUser") & "</Td>"
else 'rad 176
Response.write "<Td>" & objRs("FromUser") & "</Td>"
end if
Response.write "</Tr>"
Response.write "<Tr>"
Response.write "<Td>" & ObjRs("Messages") & "</Td>"
Response.write "</Tr>"
'## -- printa ut informationen till beskare/anvndaren --

objRS.MoveNext
Loop
Else
'## -- inga poster returnerades --
'## -- visa meddelande att inga poster hittades fr anvndaren --
End If

'## -- rensa up --
objRS.Close
Set objRS = Nothing

objConn.Close
Set objconn = Nothing

'## -- visa sidnavigeringen --
' Call PageNavigation(intPage, intTotalPages)

'## -- include filen nedan innehller sjlva subrutinen fr sidnavigeringen --
Response.write "</Table>"
'Response.write "Du kommer frn en annan sida drfr kan du inget gra ljust nu!"
end if
%>
Andreas H här är hela koden.
Men en kod som jag ska ha till senare är en som markera det som oläst och en som markera det att man inte har besvarat det men läst det så användaren vet.


Svara

Sv: En fråga som jag funderar på inget fel på det sättet so

Postades av 2004-04-01 20:28:43 - Andreas Hillqvist

Jag har förändrat koden till följande:
<code>
<%@ Language=VBScript %><%
Option Explicit

Dim Con

Dim Page
Dim UserId
Dim CurrentUser

Dim intPage
Dim intCounter
Dim intTotalPages

Dim strSQL
Dim strMessage

Const adUseClient = 3

'**
'* hur många poster ska visas per sida
'**
Const intPageSize = 10

Response.Buffer = True

Page = Trim(Request.QueryString("page")) 'vilken sida ska visas
UserId = Trim(Request.QueryString("Userid"))

strMessage = Trim(Request.Form("Messages"))

CurrentUser = Trim(Session("UserId"))

%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//SE" "http://www.w3.org/TR/REC-html40/strict.dtd">
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-10">
<STYLE>
TextArea.formular
{
Top: 90px;
Right: 20px;
position: Absolute;
font-family: Georgia;
}

Input.Skicka
{
Top: 265px;
<!-- Top: 50px; -->
<!-- Right: 27px; -->
position: Absolute;
}
</STYLE>
<SCRIPT type="text/javascript">
<!-- Begin
function myWin(URL)
{
day = new Date();
id = day.getTime();
eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=0,location=0,status=1,statusbar=1,menubar=0,resizable=0,width=380,height=380,left = 262,top = 194');");
}
</SCRIPT>
</HEAD>
<BODY>
<!--#INCLUDE FILE="pagin.asp"-->
<FORM method="post" Action="guestbook.asp?Guest=True&Userid=<% = Request.QueryString("Userid") %>" id=form1 name=form1>
<TextArea Class="Formular" Cols="18" Rows="10" Name="Messages">
</TextArea>
<input Class="Skicka" type="Submit" Value="Skicka inl&auml;gg" id=Submit1 name=Submit1>
</Form>
<%
If IsNumeric(CurrentUser) Then
If Request.QueryString("Guest") = "True" Then
'## -- skapa connection object och ppna databasen --
Set con = Server.CreateObject("Adodb.Connection")
con.open "Driver={Microsoft Access Driver (*.mdb)};Dbq=" & Server.MapPath("../../Db/Community.mdb") & ";"

strSQL = "SELECT User.*, Inlogning.Guestbook" & vbCrLf & _
"FROM User LEFT JOIN Inlogning ON User.UserId = Inlogning.Userid" & vbCrLf & _
"WHERE Userid='" & Replace(UserId, "'", "''") & "'"

Set rs = Con.execute(strSQL)
If rs.EOF Then
Response.write "Gästbok saknas för: """ & Server.HTMLEncode(UserId) & """"
Else
Response.write rs("User") & "'s gästbok&nbsp;" & rs("Guestbook") & "&nbsp;"
rs.Close

If Len(strMessage) Then
strSQL = "INSERT INTO Guestbook (FromUser, ToUser, Messages)" & vbCrLf & _
"SELECT User, '" & Replace(Userid,"'","''") & "','" & Replace(Request.Form("Messages"),"'","''") & "'" & vbCrLf & _
"FROM inlogning" & vbCrLf & _
"WHERE UserId = '" & Replace(CurrentUser,"'","''") & "'"
con.Execute strSQL

strSQL = "UPDATE Inlogning SET Guestbook = Guestbook + 1" & vbCrLf & _
"WHERE UserId = '" & Replace(UserId,"'","''")
con.Execute strSQL

Response.write "Gstboks inlgget r sparad!"
Else
'Response.write "G&auml;stboks inl&auml;gget f&aring;r inte vara null v&auml;rde."
End if

'**
'* Öppna recordsetet
'**
strSQL = "SELECT Guestbook.*, User.Id AS FromId" & vbCrLf & _
"FROM Guestbook LEFT JOIN User ON Guestbook.FromUser = User.UserId" & vbCrLf & _
"WHERE ToUser = '" & Replace(UserId,"'","''") & "'" & vbCrLf & _
"ORDER BY Datum desc, Tid desc"

rs.PageSize = intPageSize
rs.CursorLocation = adUseClient

rs.Open strSQL, con

'**
'* hur mnga sidor bestr recordsetet av
'**
intTotalPages = rs.PageCount

'## -- kontrollera om ngra poster har returnerats eller inte --
If Not rs.EOF Then
'**
'* kontrollera intPage variabeln
'**
If IsNumeric(Page) Then
intPage = CLng(Page)
If intPage < 1 Then
intPage = 1
ElseIf intPage > intTotalPages Then
intPage = intTotalPages
End If
Else
intPage = 1
End If

'**
'* Går till aktuell sida i recordsetet
'**
rs.AbsolutePage = intPage

'## -- visa sidnavigeringen --
Call PageNavigation(intPage, intTotalPages)

'## -- loopa igenom recordsetet och visa posterna fr beskaren/anvndaren --
Response.write "<Table border=""0"">"
If CurrentUser = UserId Then
Do Until rs.EOF OR intCounter >= intPageSize
intCounter = intCounter + 1

Response.write "<Tr><Td></Td></Tr>"
Response.write "<Tr><Td>Datum & tid " & rs("Datum") & "&nbsp;" & rs("Tid") & "</Td></Tr>"
Response.write "<Tr><Td>" & rs("FromUser") & "</Td></Tr>"
Response.write "<Tr><Td>" & Server.HTMLEncode(rs("Messages")) & "</Td></Tr>"
Response.write "<Tr><Td width=""5"" Height=""5""><input type=""button"" onClick=""javascript:myWin('besvara.asp?Userid=" & Rst("FromId") & "');"" value=""BESVARA"" id=button1 name=button1></Td></Tr>
Response.write "<Tr><Td></Td></Tr>"
rs.MoveNext
Loop
Else
Do Until rs.EOF OR intCounter >= intPageSize
intCounter = intCounter + 1

Response.write "<Tr><Td></Td></Tr>"
Response.write "<Tr><Td>Datum & tid " & rs("Datum") & "&nbsp;" & rs("Tid") & "</Td></Tr>"
Response.write "<Tr><Td>" & rs("FromUser") & "</Td></Tr>"
Response.write "<Tr><Td>" & Server.HTMLEncode(rs("Messages")) & "</Td></Tr>"
Response.write "<Tr><Td></Td></Tr>"
rs.MoveNext
Loop
End If
Response.write "</Table>"
End If
End If

'## -- rensa up --
rs.Close
Set rs = Nothing

con.Close
Set con = Nothing

Else
Response.redirect "http://pluget.nu/index.htm"
End If


%>
</BODY>
</HTML>
</code>

Har ingen databas. Så jag har inte testkört den.


Svara

Nyligen

  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av
  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 789
27 960
271 761
5 900
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies