webForumDet fria alternativet

Ett riktigt enkelt forum!

ASP

5 svar · 301 visningar · startad av magnusfernstrom

Medlem sedan mars 20033 686 inlägg
Frågan#1

Hejsan!

Jag har lite enkla frågor om forum som jag tänkte ställa här.
Innan jag börjar ställa mina frågor så vill jag bara säga att det inte skall vara något avancerat forum. Ett jätte enkelt.
En sida som visar inlägget snamn, datum och vem som skrivit det. En sida som visar själva tråden, i denna skall man också kunna svara, samt en som man skapar en ny tråd.

Nu till frågorna:

Hur skall databasen se ut?
Hur vet sidan vilka inlägg till vilken tråd den ska hämta?
Hur ska koden se ut?

Jag har suttit och prövat, men det känns bara dumt.
Jag kommer ingenvart.

Jag har även kikat lite på andra forum som är till för nedladdning.
Men dessa innehåller för mig obegriplig kod, så jag gav därför upp.

Allt sånt där jox med Dim gillar jag INTE!
Och jag har aldrig egentligen förstått vitsen med Dim när det används till t.ex. Gästböcker samt forum mm.

Så snälla om ni nu orkar med och ge tips, skippaall krånglig kod.
Kanske måste vara krånglig kod, vad vet jag.

Men så enkel som möjlig då!

Sedan måste jag också upplysa er om att jag har brinkster som jag lägger upp sidorna på. Så ingen adovbs.inc.

Visst är jag krånglig?
Jag vet, men jag vore mycket tacksam för hjälp.

Mvh Magnus Fernström

Medlem sedan aug. 200160 inlägg
#2

Databasen skulle kanske kunna se ut såhär?
Namn - Beskrivning - Typ

ID - Tråden/Inlägget´s ID - Räknare
Headline - Tråden/Inlägget´s Rubrik - Text
Text - Tråden/Inläggets`s innehåll - PM
Parent - Denna kolumn ska innehålla det id tråden har som inlägget har postats i - Tal
Date - Datumet - Datum/Tid
User - Användarens Namn - Text

Då kommer vi till koden

viewforum.asp

Dim RS
'Skapar ett RecordSet där vi hämtar ut alla trådar
Set RS = Conn.Execute("Select * From forum Where parent = 0")
'Kollar om det finns några trådar
If RS.EOF Then
Response.Write "Inga Trådar har skapats"
Else
'Om det fanns några trådar så slumpas dom ut här
Do Until RS.EOF
Response.Write "<a href=""viewtopic.asp?id=" & RS("id") & ">" & RS("headline") & " - " & RS("date") & "</a><br>"
RS.Movenext
Loop

End if
Response.Write "<a href=""newtopic.asp"">Skriv en ny tråd</a>"

viewtopic.asp

Dim RS
'Vi skapar ett RecordSet som hämtar ut den post som har det id som finns i Request.Querystring("id")
Set RS = Conn.Execute("Select * From forum Where id = "& Request.Querystring("id") & " AND parent = 0")

'Vi kollar om tråden finns
If RS.EOF Then
Response.Write "Tråden finns inte"
Else
'Om den finns skriver vi ut informationen från den
Response.Write "Rubrik:" & RS("headline") & "<br>"
Response.Write "Datum:" & RS("date") & "<br>"
Response.Write "Användare:" & RS("user") & "<br>"
Response.Write "Inlägg:<br>" & RS("text") & "<br>"
Response.Write "<br><br><br>"

'Vi Stänger här det RecordSet vi skapade
RS.Close
Set RS = Nothing

Response.Write "Svar<br>"
'Här Skapar vi ett nytt RecordSet som hämtar alla inlägg som tillhör tråden vi nyss hämtade
Set RS = Conn.Execute("Select * From forum Where parent = " & Request.Querystring("id") & "")
'Vi kollar om det finns några inlägg som tillhör tråden
If RS.EOF Then
Response.Write "Ingen har svarat på denna tråd"
Else
'Om det finns inlägg som tillhör tråden loopar vi ut alla inlägg
Do Until RS.EOF
'Vi skriver ut informationen här
Response.Write "Rubrik:" & RS("headline") & "<br>"
Response.Write "Datum:" & RS("date") & "<br>"
Response.Write "Användare:" & RS("user") & "<br>"
Response.Write "Inlägg:<br>" & RS("text") & "<br>"
Response.Write "<br><br>"

'Vi avslutar våran loop
RS.Movenext
Loop
End if

RS.Close
Set RS = Nothing
End if
Response.Write "<a href=newtopic.asp?id=" & Request.Querystring("id") & ">Skriv ett svar på denna tråd</a>"

Newtopic.asp

<%
Dim ID,Action,RS
'Vi skapar två variablar
ID = Request.Querystring("id")
Action = Request.Querystring("action")

'Vi kollar om variabeln Action är tom
If IsNull(Action) Then

'Vi kollar om variabeln ID är tom
IF NOT IsNull(ID) Then
Set RS = Conn.Execute("Select headline From forum Where id = " & ID & "")
Response.Write "Du skriver ett svar till tråden " & RS(0)
RS.Close : Set RS = Nothing
End if
%>

<form method="post" action="newtopic.asp?id=<%= ID%>&action=do">
<br>
Rubrik:<br>
<input type="text" name="headline">
<br>
DittNamn:<br>
<input type="text" name="user">
<br>
Text:<br>
<textarea rows="15" name="text" cols="55"></textarea>
<br><br>
<input type="submit" value="Skicka">
</form>

<%
'Om variabeln Action innehåller värdet "do" körs denna kod under här
Elseif Action = "do" Then

'Vi kollar igenom om variabeln ID är tom
If IsNull(ID) Then
'Vi skriver 0 till variabeln Parent om variabeln ID är tom
Parent = 0
Else
'Vi skriver värdet från variabeln ID till variabeln Parent om ID innehåller något värde
Parent = ID
End if

'Vi skapar en SQL-sats
SQL = "INSERT INTO forum ([headline],[text],[parent],[date],[user]) "
SQL = SQL & "VALUES('" & Request.Form("headline") & "','" & Request.Form("text") & "',"
SQL = SQL & "" & Cint(Parent) & ",NOW(),'" & Request.Form("user") & "')"

'Vi utför SQL-satsen
Conn.Execute(SQL),,128

'Om Parent innehåller 0 skickar vi användaren till sidan viewforum.asp, om inte skickas användaren till viewtopic.asp
If Parent = 0 Then
Response.Redirect "viewforum.asp"
Else
Response.Redirect "viewtopic.asp?id=" & ID
End if

End If
%>

Detta är en början på ett mycket enkelt forum.
Koden är otestad så jag kan tyvärr inte garantera att inga felmeddelanden kommer dyka upp ;)

Edit: La upp kod till en "svara" sida också.

Medlem sedan mars 20033 686 inlägg
#3

Shit asså, jag blir så glad. Vad ni ställer upp! :D
Tack så hemskt mycket, det var mer än jag nånsin tänkte mig.

Skall pröva koden direkt.

Medlem sedan nov. 2003266 inlägg
#4

Här finns nåt som du kanske kan använda
http://www.webfor....511#post768511

Medlem sedan mars 20033 686 inlägg
#5

Hehe jo det är jag som skapat tråden ju ;)

Men som sagt, koden är för mig skit konstig i det exemplet.

Medlem sedan nov. 2003266 inlägg
#6

Sorry, det första man blir blind på är ögonen :r

259 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)