webForumDet fria alternativet

Icke medlemmar har ingen tillgång till sidan

ASP

4 svar · 180 visningar · startad av caze

Medlem sedan sep. 20016 059 inlägg
Frågan#1

Vill göra så att endast de inloggade ska kunna komma åt vissa sidor, använder mig av inkluderade .inc filer .

Sidan som jag exempelvisas vill ska vara lösenordsskyddad, ser ut så här.

	<%
    
function avrunda(x)
If instr(x,",") OR instr(x,".") Then
avrunda = int(x) + 1
Else
avrunda = x
End If
End function

Dim currentpage, postsperpage, pages, postsshown, strdb, i, nextp, prevp

currentpage = Request("sida")

postsperpage = 15

If currentpage = "" OR currentpage <=0 Then
currentpage = 1
End If

Set Connect = Server.CreateObject("ADODB.Connection") 
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("db/aspforum.mdb")&";"

Set RecSet = Server.CreateObject("ADODB.Recordset")

Addera = "Select * From forum WHERE ref_id = 0 ORDER BY senastedatum DESC"
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic

pages = avrunda(RecSet.RecordCount/postsperpage)
RecSet.Move ((currentpage*postsperpage)-postsperpage)

nextp = currentpage + 1
prevp = currentpage - 1
%><br>
	<table align="center" border="0" width="640">
	<tr>
	<td>
	Sida:
	<% If prevp >= 1 Then %>
	<a href="default2.asp?sida=<%=prevp%>"><<</a>
	<% End If %>
    <% For i = 1 To pages %>
    <% If i = int(currentpage) Then %>
    <b><%=i%></b>
    <% Else %>
    <a href="default2.asp?sida=<%=i%>"><%=i%></a>
    <% End If %>
    <% Next %>
    <% If postsperpage*currentpage<pages*postsperpage Then %>
    <a href="default2.asp?sida=<%=nextp%>">>></a>
    <% End If %>
    </td>
    </tr>
    </table>
    <table width="640" align="center" cellspacing="0" cellpadding="0" border="0" bordercolor="#000000">
    <tr>
    <td style="border-bottom-style: solid; border-bottom-width: 0; border-top-style: solid; border-top-width: 0; border-left-style: solid; border-left-width: 0; border-right-style: solid; border-right-width: 0">
    <table width="" align="center" cellspacing="0" cellpadding="0" border="0" bordercolor="#000000">
    <tr>
    <td style="border-bottom-style: solid; border-bottom-width: 1; border-top-style: solid; border-top-width: 1; border-left-style: solid; border-left-width: 1; border-right-style: solid; border-right-width: 1">
	  <table width="640" cellspacing="0" cellpadding="0" bordercolor="#000000" align="center" border="0">
	    <tr>
          <td background="bilder/rubrik.gif" height="20" width="30%" style="border-bottom-style: solid; border-bottom-width: 1">
		  &nbsp;<b>Rubrik</b>
		  </td>
		  <td background="bilder/rubrik.gif" width="15%" style="border-bottom-style: solid; border-bottom-width: 1">
		  &nbsp;<b>Kategori</b>
		  </td>
		  <td background="bilder/rubrik.gif" width="15%" style="border-bottom-style: solid; border-bottom-width: 1">
		  <center><b>Startad av</b></center>
		  </td>
		  <td background="bilder/rubrik.gif" width="8%" style="border-bottom-style: solid; border-bottom-width: 1">
		  <center><b>Svar</b></center>
		  </td>
		  <td background="bilder/rubrik.gif" width="8%" style="border-bottom-style: solid; border-bottom-width: 1">
		  <center><b>Visad</b></center>
		  </td>
		  <td background="bilder/rubrik.gif" width="20%" style="border-bottom-style: solid; border-bottom-width: 1">
		  &nbsp;<b>Senaste inlägget</b>
		  </td>
		</tr>
		<%
		For i = 1 To postsperpage
		If RecSet.EOF Then
		Exit for
		End If
		postsshown = postsshown + 1
		%>
		<tr bgcolor="#F8F8F8" OnMouseOver="this.style.background='#F4F4F4'" OnMouseOut="this.style.background='#F8F8F8'">
          <td width="" style="border-right-style: solid; border-right-width: 0">
		  &nbsp;<a href="default2.asp?val=visainlagg&id=<%=RecSet("id")%>"><%=RecSet("rubrik")%>
		  </td>
		  <td width="" style="border-left-style: solid; border-left-width: 0; border-right-style: solid; border-right-width: 0">
		  &nbsp;<%=RecSet("kategori")%></a>
		  </td>
		  <td width="" style="border-left-style: solid; border-left-width: 0; border-right-style: solid; border-right-width: 0">
		  <center>&nbsp;<a href="default2.asp?val=profil&anvandarnamn=<%=RecSet("namn")%>"><%=RecSet("namn")%></a></center>
		  </td>
		  <td width="" style="border-left-style: solid; border-left-width: 0; border-right-style: solid; border-right-width: 0">
		  <center><%=RecSet("svar")%></center>
		  </td>
		  <td width="" style="border-left-style: solid; border-left-width: 0; border-right-style: solid; border-right-width: 0">
		  <center><%=RecSet("visningar")%></center>
		  </td>
		  <td width="" style="border-left-style: solid; border-left-width: 0">
		  &nbsp;<%=RecSet("senastedatum")%><br>
		  &nbsp;av: <font color="#990000"><%=RecSet("senastenamn")%></font>
		  </td>
		</tr>
	<%
	    
		RecSet.MoveNext
		Next
		RecSet.Close
		%>
		<%
		Addera = "Select * From forum"
        RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic
        Dim antalposter
        anralposter = 0
        Do UNTIL RecSet.EOF
        antalposter = antalposter + 1
        RecSet.MoveNext
        Loop
        RecSet.Close
        Connect.Close
        
Set Connect = Server.CreateObject("ADODB.Connection") 
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("db/aspforum.mdb")&";"

Set RecSet = Server.CreateObject("ADODB.Recordset")

Addera = "Select * From medlemmar ORDER BY anvandarnamn"
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic

Dim antalmedlemmar
antalmedlemmat = 0
Do UNTIL RecSet.EOF 
antalmedlemmar = antalmedlemmar + 1
RecSet.MoveNext
Loop
RecSet.Close
Connect.Close

Set Connect = Server.CreateObject("ADODB.Connection") 
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("db/aspforum.mdb")&";"

Set RecSet = Server.CreateObject("ADODB.Recordset")

Addera = "Select * From medlemmar ORDER BY registreringsdatum desc"
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic

Dim senastreggad
senastreggad = RecSet("anvandarnamn")
senasteid = RecSet("id")
RecSet.Close
Connect.Close
		%>
	  </table>
	  </td>
	  </tr>
	  </table>
	  </td>
	  </tr>
	  </table>
	  <br>

	  <table border="0" width="640" align="center">
		<tr>
		<td width="">
		Det har skrivits <%=antalposter%> inlägg totalt.
	  
</td>
<td width="25%">
Det finns <%=antalmedlemmar%> medlemmar.
<br>Senast registrerad: <a href="default.asp?val=profil&anvandarnamn=<%=senastreggad%>"><%=senastreggad%></a> 

</td>
</tr>
</table>
	  </table>
Medlem sedan juni 200032 967 inlägg
#2

Var har du gömt [kod]-taggarna?

Medlem sedan sep. 20016 059 inlägg
#3

Vad menar du?

Medlem sedan sep. 20026 425 inlägg
#4

En lösning som är mycket simpel är att sätta en session när en medlem har loggat in. Om sessionen finns, så får man kolla i forumet. Om sessionen inte finns, så får man bara titta på inloggingssidan.

If Not Session("axxezz") = True Then
Response.Redirect("login.asp?x=no-access")
End If

If Request.Querystring("x")="no-access" Then
Response.Write "Enbart medlemmar får läsa och skriva i forumet. Du kan registrera dig [här] (<-- länk till registrerasidan).
End If

När en användare loggat in så kör du också denna kod:

Session("axxezz") = True

När en användare loggar ut så kör du denna kod:

Session.Contents.Remove("axxezz")

Hoppas du förstår. Och glöm inte [kod]-taggen nästa gång. ;)

Medlem sedan feb. 200112 078 inlägg
#5
if not CBool(session("bLoggedIn")) then response.redirect "logout.asp"
275 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
142 ms — hämta tråd, inlägg och bilagor (db)
131 ms — ändringar (db)