﻿<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Tankar om webbutveckling &#187; ASP</title>
	<atom:link href="http://www.wedholm.net/category/katasp/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.wedholm.net</link>
	<description>Sökmotoroptimering och webbutveckling</description>
	<lastBuildDate>Thu, 02 Feb 2012 21:31:39 +0000</lastBuildDate>
	<language>sv-se</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Kommentarfunktion i ASP</title>
		<link>http://www.wedholm.net/kommentarfunktion-i-asp/</link>
		<comments>http://www.wedholm.net/kommentarfunktion-i-asp/#comments</comments>
		<pubDate>Tue, 07 Dec 2010 04:47:46 +0000</pubDate>
		<dc:creator>Kristoffer Wedholm</dc:creator>
				<category><![CDATA[ASP]]></category>

		<guid isPermaLink="false">http://www.wedholm.net/?p=2785</guid>
		<description><![CDATA[Nu tänkte jag presentera min helt egna kommentarfunktion som jag gjort i ASP/VB. Jag försöker förklara lite övergripande vad som sker men kommer inte gå in på varenda detalj. kommentarer.asp (formuläret) Ett helt vanligt HTML-formulär där vi använder attributet name för att senare identifiera vilken uppgift som ska till vilket ställe i databasen. &#60;table width="550" [...]]]></description>
			<content:encoded><![CDATA[<p>Nu tänkte jag presentera min helt egna <strong>kommentarfunktion</strong> som jag gjort i <strong>ASP/VB</strong>. Jag försöker förklara lite övergripande vad som sker men kommer inte gå in på varenda detalj.</p>
<h3>kommentarer.asp (formuläret)</h3>
<p>Ett helt vanligt HTML-formulär där vi använder attributet name för att senare identifiera vilken uppgift som ska till vilket ställe i databasen.</p>
<pre class="brush:css">&lt;table width="550" align="left" border="0"&gt;
&lt;form method="post" action="spara.asp?do=spara"&gt;
  &lt;tr&gt;
	&lt;td colspan="3" width="550"&gt;&lt;b&gt;Rubrik:&lt;/b&gt; (max 45 tecken)&lt;br /&gt;&lt;input maxlength="45" value="" name="rubrik" class="c_input_l" /&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
	&lt;td colspan="3" width="550"&gt;&lt;b&gt;Text:&lt;/b&gt;&lt;br&gt;&lt;textarea name="kommentar" class="c_textarea"&gt;&lt;/textarea&gt;
	&lt;p class="text_xs_nm"&gt;Följande HTML-taggar kan/får användas: &lt;em&gt;kursiv&lt;/em&gt; &lt;em&gt;&lt;/em&gt; och &lt;strong&gt;fet&lt;/strong&gt; &lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
	&lt;td width="245" valign="top"&gt;&lt;b&gt;Namn:&lt;/b&gt;&lt;br&gt;&lt;input value="" name="namn" class="c_input" /&gt;&lt;/td&gt;
	&lt;td width="245" valign="top"&gt;&lt;b&gt;Hemsida:&lt;/b&gt;&lt;br /&gt;&lt;input value="http://www." name="hemsida" class="c_input" /&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
	&lt;td width="275" valign="top"&gt;&lt;b&gt;E-post:&lt;/b&gt;&lt;br /&gt;&lt;input value="" name="epost" class="c_input" /&gt;
	&lt;/td&gt;
	&lt;td width="275" valign="top"&gt;&lt;b&gt;Spamskydd:&lt;/b&gt;&lt;br /&gt;&lt;img src="grafik/captcha.jpg" class="ikon"&gt; &lt;input value="" name="spamprot" class="c_input_s2" /&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
	&lt;td colspan="3" width="550"&gt;
	&lt;input type="submit" value="Posta kommentar" class="form_submit" /&gt;
	&lt;/td&gt;
  &lt;/tr&gt;
&lt;/form&gt;
&lt;/table&gt;</pre>
<h3>spara.asp</h3>
<p>Funktionen för att spara kommentarerna hämtar captcha-koden och den aktuella tiden och lägger i variabler. De resterande uppgifterna lägger jag (slarvigt nog) inte i variabler, utan hämtas i samma stund som jag matar in upppgifterna i databasen.</p>
<p>Filen funktioner.asp inkluderas eftersom jag behöver funktionen FixaTecken som gör om citationstecken till två st &#8216;.</p>
<pre class="brush:vb">&lt;%If Request.Querystring("do") = "spara" Then
	&lt;!--#include file="includes/funktioner.asp"--&gt;
	Set Conn = Server.CreateObject("ADODB.Connection")
	Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &amp;Server.MapPath("databas\db.mdb")

	spamprotection	= Request.Form("spamprot")
	tid = FormatDateTime(Time, vbLongTime)

	If spamprotection = "D4gf68Z" Then
		SQL = "Insert Into comments (title,comment,datum,tid,namn,hemsida,epost) Values('" &amp; FixaTecken(Request.Form("rubrik")) &amp; "','" &amp; FixaTecken(Request.Form("kommentar")) &amp; "','" &amp; date &amp; "','" &amp; tid &amp; "','" &amp; Request.Form("namn") &amp; "','" &amp; Request.Form("hemsida") &amp; "','" &amp; Request.Form("epost") &amp; "')"
		Conn.Execute(SQL)

		Response.Redirect "http://www.doman.se/kommentarer.asp?next=1"
	Else
		Response.Redirect "http://www.doman.se/kommentarer.asp?next=1"
	End If

	RecSet.Close
	Conn.Close
	Set RecSet = Nothing
	Set Conn = Nothing
End If%&gt;</pre>
<h3>komentarer.asp (visa kommentarer)</h3>
<p>Här börjar jag med att inkludera funktioner.asp eftersom jag behöver funktionen VbCrLfToBreak. Den gör så att radbrytningar som skrivits in i databasen genererar ett radbyte i HTML (&lt;br /&gt;).</p>
<p>ANTAL=&#8221;7&#8243; anger att sju kommentarer ska visas per sida.</p>
<p>Jag har lagt en funktion för att bläddra mellan kommentarssidorna både ovanför och under de sju kommentarer som visas.</p>
<p>Jag kontrollerar även om fälten namn och hemsida är ifyllda. Om de innehåller något så skrivs de ut och om båda är ifyllda så läggs ett kommatecken till mellan namnet och URL:en till hemsidan.</p>
<pre class="brush:vb">&lt;%

&lt;!--#include file="includes/funktioner.asp"--&gt;
ANTAL = "7"
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &amp;Server.MapPath("databas\db.mdb")
Set RecSet = Server.CreateObject("ADODB.RecordSet")

	Sidan = Request.QueryString("next")
	If Sidan = "" then
	   sida = 1
	Else
	   sida = Sidan
	End If 

	With RecSet
	   .CursorLocation = 3
	   .CacheSize = ANTAL
	End With

SQL = "SELECT * FROM comments ORDER BY datum DESC, tid DESC"
RecSet.Open SQL, Conn

	With RecSet
	  .MoveFirst
	  .PageSize = ANTAL
	  .AbsolutePage = sida
	End With

	Sidor =  RecSet.PageCount
	 x = 0

If Sidor &gt; 1 Then%&gt;
	&lt;div class="contentrow_sidnr"&gt;
		&lt;p&gt;
		&lt;%If (Int(sida)) &lt;&gt; 1 Then%&gt;
		&lt;a href="kommentarer.asp?next=&lt;%=(Int(sida)-1)%&gt;" class="intern"&gt;Framåt&lt;/a&gt; |
		&lt;%Else%&gt;&lt;%End If%&gt;

		&lt;%For Sid = 1 To Sidor
			 If (Int(Sid)) = (Int(sida)) Then%&gt;
		&lt;%=Sid%&gt;&lt;%Else%&gt; &lt;a href="kommentarer.asp?next=&lt;%=Sid%&gt;" class="intern"&gt;&lt;%=Sid%&gt;&lt;/a&gt; &lt;%End If
		 Next%&gt;

		&lt;%If (Int(sida)) &lt;&gt; (Int(Sidor)) Then%&gt;
		 | &lt;a href="kommentarer.asp?next=&lt;%=(Int(sida)+1)%&gt;" class="intern"&gt;Bakåt&lt;/a&gt;
		&lt;%Else%&gt;&lt;%End If%&gt;
		&lt;/p&gt;
	&lt;/div&gt;
	&lt;div style="float: left; width: 630px; border-bottom: 1px solid #FF4500; margin: 0px; padding: 0px;"&gt;&lt;/div&gt;
&lt;%End If%&gt;

&lt;%Do While Not RecSet.EOF And x &lt; RecSet.PageSize%&gt;

&lt;div class="commentrow"&gt;
&lt;%
titel = RecSet("title")
If titel &lt;&gt; "" Then%&gt;
	&lt;h2&gt;&lt;%=RecSet("title")%&gt;&lt;/h2&gt;
&lt;%End If%&gt;

	&lt;%
	tid_a = RecSet("tid")
	tiden = FormatDateTime(tid_a, vbShortTime)
	%&gt;

	&lt;p class="komdatum" style="margin"&gt;&lt;%=RecSet("datum")%&gt; - &lt;%=tiden%&gt;&lt;/p&gt;
	&lt;p class="text_medium"&gt;&lt;%Response.Write(VbCrLfToBreak(RecSet("comment")))%&gt;&lt;/p&gt;

	&lt;%
	namn = RecSet("namn")
	hemsida = RecSet("hemsida")
	%&gt;

	&lt;%If namn &lt;&gt; "" Then%&gt;
	&lt;p class="text_s" style="font-style:italic;"&gt;&lt;%=RecSet("namn")%&gt;
	&lt;%End If%&gt;

	&lt;%If namn &lt;&gt; "" AND hemsida &lt;&gt; "http://www." AND hemsida &lt;&gt; "" Then Response.Write ", "%&gt;

	&lt;%If hemsida &lt;&gt; "http://www." OR hemsida = "" Then%&gt;
	&lt;a href="&lt;%=RecSet("hemsida")%&gt;" target="_blank" rel="nofollow" class="extern"&gt;&lt;%=RecSet("hemsida")%&gt;&lt;/a&gt;
	&lt;%Else
	End If%&gt;
	&lt;/p&gt;
&lt;/div&gt;

&lt;%x=x+1
RecSet.MoveNext
Loop

If Sidor &gt; 1 Then%&gt;
	&lt;div class="contentrow_sidnr"&gt;
		&lt;p&gt;
		&lt;%If (Int(sida)) &lt;&gt; 1 Then%&gt;
		&lt;a href="kommentarer.asp?next=&lt;%=(Int(sida)-1)%&gt;" class="intern"&gt;Framåt&lt;/a&gt; |
		&lt;%Else%&gt;&lt;%End If%&gt;

		&lt;%For Sid = 1 To Sidor
			 If (Int(Sid)) = (Int(sida)) Then%&gt;
		&lt;%=Sid%&gt;&lt;%Else%&gt; &lt;a href="kommentarer.asp?next=&lt;%=Sid%&gt;" class="intern"&gt;&lt;%=Sid%&gt;&lt;/a&gt; &lt;%End If
		 Next%&gt;

		&lt;%If (Int(sida)) &lt;&gt; (Int(Sidor)) Then%&gt;
		 | &lt;a href="kommentarer.asp?next=&lt;%=(Int(sida)+1)%&gt;" class="intern"&gt;Bakåt&lt;/a&gt;
		&lt;%Else%&gt;&lt;%End If%&gt;
		&lt;/p&gt;
	&lt;/div&gt;
&lt;%End If%&gt;
&lt;%RecSet.Close
Conn.Close
Set RecSet = Nothing
Set Conn = Nothing%&gt;</pre>
<h3>funktioner.asp</h3>
<pre class="brush:vb">Function FixaTecken(str)
	FixaTecken  = Replace(Trim(str),"'","''")
End function

Function VbCrLfToBreak(byVal str)
	If IsNull(str) Then str = ""
	VbCrLfToBreak = Replace(str,vbCrLf,"&lt;br /&gt;")
End Function</pre>
<p><strong> </strong></p>
<p>Hoppas allt blev rätt nu. Kanske hjälper detta någon som fortfarande kodar klassisk ASP.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wedholm.net/kommentarfunktion-i-asp/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Redirecta obefintliga sidor i ASP</title>
		<link>http://www.wedholm.net/redirecta-obefintliga-sidor-i-asp/</link>
		<comments>http://www.wedholm.net/redirecta-obefintliga-sidor-i-asp/#comments</comments>
		<pubDate>Sun, 21 Mar 2010 16:13:58 +0000</pubDate>
		<dc:creator>Kristoffer Wedholm</dc:creator>
				<category><![CDATA[ASP]]></category>
		<category><![CDATA[Sökmotoroptimering]]></category>

		<guid isPermaLink="false">http://www.wedholm.net/?p=1844</guid>
		<description><![CDATA[På en av mina sajter har jag märkt att Google har indexerat sidor som egentligen inte finns. De består bara av sajtens &#8221;skelett&#8221;, d.v.s. header, meny och högerkolumn, medan innehållsdelen saknas. Detta problem uppkommer då jag använder mig av s.k. QueryStrings i ASP, där varje sidas innehållsdel väljs beroende på vilken QueryString som anropas i [...]]]></description>
			<content:encoded><![CDATA[<p>På en av mina sajter har jag märkt att Google har indexerat sidor som egentligen inte finns. De består bara av sajtens &#8221;skelett&#8221;, d.v.s. header, meny och högerkolumn, medan innehållsdelen saknas. Detta problem uppkommer då jag använder mig av s.k. <em>QueryStrings i ASP</em>, där varje sidas innehållsdel väljs beroende på vilken <em>QueryString</em> som anropas i URL:en (<span style="color: #888888;">sida.asp?page=sida</span>). Det blir dock endast synligt om man råkar länka till en <em>QueryString</em> som inte har något innehåll, vilket jag alltså varit slarvig och gjort.</p>
<p>För att få bort den &#8221;tomma&#8221; sidan från Google har jag därför gjort en <strong>301 Permanent Redirect</strong> från den felaktiga sidan/QueryStringen till den korrekta adressen. Det ser ut såhär i ASP:</p>
<pre class="brush:vb">&lt;%@ Language=VBScript %&gt;
&lt;%
aktuellQS = Request.Querystring

If aktuellQS = "page=felaktig-querystring" Then
    Response.Status = "301 Moved Permanently"
    Response.AddHeader "Location", "http://www.doman.se/sidan.asp?page=korrekt-querystring"
    Response.End
End If
%&gt;</pre>
<p>Koden läggs högst upp i den ASP-fil som innehåller den felaktigt indexerade QueryStringen.</p>
<p>Jag tycker det är nödvändigt att få bort innehållslösa sidor från Googles index eftersom de just inte innehåller någonting. I mitt fall så syns ju ändå sajtens navigering, vilket man kan tycka är bra eftersom besökarna då kan klicka sig vidare. Jag tror dock att man tjänar på att hjälpa Google att bara indexera de sidor som faktiskt har ett innehåll. Dessutom så skickar man ju över den eventuella styrka den tomma sidan har till en sida som faktiskt har ett innehåll.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wedholm.net/redirecta-obefintliga-sidor-i-asp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP- och ASP-länkar med ID</title>
		<link>http://www.wedholm.net/php-och-asp-lankar-med-id/</link>
		<comments>http://www.wedholm.net/php-och-asp-lankar-med-id/#comments</comments>
		<pubDate>Wed, 07 Oct 2009 23:26:38 +0000</pubDate>
		<dc:creator>Kristoffer Wedholm</dc:creator>
				<category><![CDATA[ASP]]></category>
		<category><![CDATA[Sökmotoroptimering]]></category>
		<category><![CDATA[Webbutveckling]]></category>

		<guid isPermaLink="false">http://www.wedholm.net/?p=1167</guid>
		<description><![CDATA[Jag har tidigare varit negativ till länkar som går via redirect-script och nu har jag lite mer på detta ämne. För att få ut mest av en inlänk till din sajt ska den vara skriven i ren HTML. Google följer tydligen sedan en tid länkar som går genom ASP-/PHP-redirects eller JavaScript. Problemet är att denna [...]]]></description>
			<content:encoded><![CDATA[<p>Jag har tidigare varit negativ till länkar som går via redirect-<a href="http://surfplace.se" target="_blank">script</a> och nu har jag lite mer på detta ämne. För att få ut mest av en inlänk till din sajt ska den vara skriven i ren HTML. Google följer tydligen sedan en tid länkar som går genom ASP-/PHP-redirects eller JavaScript. Problemet är att denna typ av länkar med största säkerhet har ett betydligt lägre värde, och bör således undvikas.</p>
<p>Har du länkar som du vill föra klickstatistik över, men ändå ge de länkade sidorna bra länkar så kan du använda dig av JavaScript för att räkna klick. Vill du hämta URL:er ur en databas med ASP eller PHP så går även det bra så länge du skriver ut dem i <em>href=&#8221;"</em>. Problemet är inte att man använder något av dessa språk utan vilken länk man stoppar in i <em>href</em>.  Skriver du <em>href=&#8221;inc/redirect.asp?id=3298&#8243;</em> så blir det en intern länk på din sajt. Besökaren som klickar på den märker troligtvis inget eftersom redirecten går lika snabbt som om länken pekat mot den länkade sajten från först början.</p>
<p style="text-align: left;">Exempel på hur du kan göra en &#8221;bra&#8221; länk med ASP:<br />
<span style="color: #808080;">&lt;a href=&#8221;&lt;%=RecSet(&#8221;url&#8221;)%&gt;&#8221; target=&#8221;blank&#8221;&gt;&lt;%=RecSet(&#8221;titel&#8221;)%&gt;&lt;/a&gt;</span></p>
<p style="text-align: left;">Som ger följande HTML-kod:<br />
<span style="color: #808080;">&lt;a href=&#8221;http://www.runars-korgossar.se&#8221; target=&#8221;blank&#8221;&gt;Runar&#8217;s körgossar&lt;/a&gt;</span></p>
<p style="text-align: left;">Mer läsvärt hittar du här:<br />
<a href="http://www.seo-guide.se/lankar-och-hur-de-varderas" target="_blank">http://www.seo-guide.se/lank&#8230;de-varderas</a> (Under rubrik 11)<br />
<a href="http://www.seo-forum.se/information-om-inlaenkar/670-php-laenkar-med-id-nummer.html" target="_blank">http://www.seo-forum.se/inf&#8230;ummer.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.wedholm.net/php-och-asp-lankar-med-id/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mer Permanent Redirect i ASP</title>
		<link>http://www.wedholm.net/mer-permanent-redirect-i-asp/</link>
		<comments>http://www.wedholm.net/mer-permanent-redirect-i-asp/#comments</comments>
		<pubDate>Mon, 05 Oct 2009 22:34:18 +0000</pubDate>
		<dc:creator>Kristoffer Wedholm</dc:creator>
				<category><![CDATA[ASP]]></category>
		<category><![CDATA[On-page]]></category>

		<guid isPermaLink="false">http://www.wedholm.net/?p=1145</guid>
		<description><![CDATA[Jag har tidigare skrivit hur man gör en enkel 301-redirect från domän.se till www.domän.se. Nu har jag börjat använda nedanstående kod för att automatiskt kunna redirecta speciella sidor till adressen som inkluderar www. Placera koden längst upp på alla ASP-sidor du vill använda Permanent Redirect på. &#60;%@ Language=VBScript %&#62; &#60;% aktuellsida = Request.ServerVariables("URL") aktuellQS = [...]]]></description>
			<content:encoded><![CDATA[<p>Jag har tidigare skrivit hur man gör en enkel <strong>301-redirect</strong> från domän.se till www.domän.se. Nu har jag börjat använda nedanstående kod för att automatiskt kunna redirecta speciella sidor till adressen som inkluderar <em>www</em>. Placera koden längst upp på alla ASP-sidor du vill använda <strong>Permanent Redirect</strong> på.</p>
<pre class="brush:vb">&lt;%@ Language=VBScript %&gt;
&lt;%
aktuellsida = Request.ServerVariables("URL")
aktuellQS = "?" &amp; Request.Querystring

If ((Request.ServerVariables("SERVER_NAME")) = "doman.se") Then
    Response.Status = "301 Moved Permanently"
    Response.AddHeader "Location", "http://www.doman.se" &amp; aktuellsida &amp; aktuellQS
    Response.End
End If
%&gt;</pre>
<p>Variabeln &#8221;aktuellsida&#8221; visas i <span style="color: #ff0000;">denna färg</span>, och &#8221;aktuellQS&#8221; i <span style="color: #0000ff;">denna färg</span> i URL:en nedan.</p>
<p>http://www.doman.se<span style="color: #ff0000;">/sida.asp</span><span style="color: #0000ff;">?page=undersida</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.wedholm.net/mer-permanent-redirect-i-asp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Unika Title-taggar med ASP</title>
		<link>http://www.wedholm.net/unika-title-taggar-med-asp/</link>
		<comments>http://www.wedholm.net/unika-title-taggar-med-asp/#comments</comments>
		<pubDate>Wed, 23 Sep 2009 00:43:05 +0000</pubDate>
		<dc:creator>Kristoffer Wedholm</dc:creator>
				<category><![CDATA[ASP]]></category>
		<category><![CDATA[Sökmotoroptimering]]></category>

		<guid isPermaLink="false">http://www.wedholm.net/?p=1076</guid>
		<description><![CDATA[Ur SEO-synpunkt är det viktigt att ha unika Title-taggar för varje sida på din sajt, men det är även viktigt ur ett användarperspektiv. Med unika Title-taggar vit besökaren lätt vilken sida han/hon befinner sig på och var i sidhierarkin. För sökmotorernas del är Title-taggen en viktig källa till sökord som är relevanta för den aktuella [...]]]></description>
			<content:encoded><![CDATA[<p>Ur SEO-synpunkt är det viktigt att ha unika Title-taggar för varje sida på din sajt, men det är även viktigt ur ett användarperspektiv. Med unika Title-taggar vit besökaren lätt vilken sida han/hon befinner sig på och var i sidhierarkin. För sökmotorernas del är Title-taggen en viktig källa till sökord som är relevanta för den aktuella sidan.</p>
<p>Här kommer jag visa både hur du skapar automatiskt genererade och manuellt ändringsbara Title-taggar om du använder flera QueryStrings på samma ASP-sida.</p>
<p><strong>Manuellt med olika QueryStrings: </strong></p>
<p style="text-align: left;"><span style="color: #000080;"><em>&lt;html&gt;<br />
&lt;head&gt;<br />
&lt;meta http-equiv=&#8221;content-</em></span><span style="color: #000080;"><em>type&#8221; content=&#8221;text/html; charset=utf-8&#8243;&gt;<br />
&lt;meta name=&#8221;language&#8221; content=&#8221;sv&#8221;&gt;<br />
&lt;link href=&#8221;style.css&#8221; type=&#8221;text/css&#8221; rel=&#8221;stylesheet&#8221;&gt;</em></span><em><br />
<span style="color: #ff6600;">&lt;%If Request.Querystring(&#8221;page&#8221;) = &#8221;&#8221; Then%&gt;</span><br />
<span style="color: #000080;">&lt;title&gt;Sajten.se &#8211; Startsidan på sajten.se&lt;/title&gt;</span><br />
</em><span style="color: #ff6600;"><em>&lt;%End If%&gt;<br />
&lt;%If Request.Querystring(&#8221;page&#8221;) = &#8221;kontakta&#8221; Then%&gt;</em></span><em><br />
<span style="color: #000080;">&lt;title&gt;</span></em><em><span style="color: #000080;">Sajten.se &#8211; Kontakta oss</span></em><em><span style="color: #000080;">&lt;/title&gt;</span><br />
<span style="color: #ff6600;">&lt;%End If%&gt;</span><br />
<span style="color: #000080;">&lt;/head&gt;</span><br />
<span style="color: #000080;">&#8230;.</span></em></p>
<p><strong>Automatiskt genererade från databas: </strong></p>
<p style="text-align: left;"><span style="color: #000080;"><em>&lt;html&gt;<br />
&lt;head&gt;<br />
&lt;meta http-equiv=&#8221;content-</em></span><span style="color: #000080;"><em>type&#8221; content=&#8221;text/html; charset=utf-8&#8243;&gt;<br />
&lt;meta name=&#8221;language&#8221; content=&#8221;sv&#8221;&gt;<br />
&lt;link href=&#8221;style.css&#8221; type=&#8221;text/css&#8221; rel=&#8221;stylesheet&#8221;&gt;</em></span><em><br />
<span style="color: #ff6600;">&lt;%<br />
Set Conn = Server.CreateObject(&#8221;ADODB.Connection&#8221;)<br />
Conn.Open &#8221;Provider=Microsoft.Jet.OLEDB.4.0;Data Source=&#8221; &amp;Server.MapPath(&#8221;d_bas\d_bas.mdb&#8221;)<br />
Set RecSet = Conn.Execute(&#8221;SELECT * FROM en_tabell WHERE pageID=&#8221;&amp; Request.Querystring(&#8221;page&#8221;))<br />
%&gt;</span></em><em><span style="color: #ff6600;"><br />
</span></em><em><span style="color: #000080;">&lt;title&gt;</span></em><em><span style="color: #000080;">Sajten.se</span></em><em><span style="color: #000080;"> &#8211; </span></em><em><span style="color: #ff6600;">&lt;%=RecSet(&#8221;avdelning&#8221;)%&gt;</span></em><em><span style="color: #000080;"> &#8211; </span></em><em><span style="color: #ff6600;">&lt;%=RecSet(&#8221;sidans_titel&#8221;)%&gt;</span></em><em><span style="color: #000080;">&lt;/title&gt;</span></em><em><span style="color: #ff6600;"><br />
&lt;%<br />
Conn.Close<br />
End If<br />
%&gt;</span></em><em><br />
<span style="color: #000080;">&lt;/head&gt;</span><br />
<span style="color: #000080;">&#8230;.</span></em></p>
<p style="text-align: left;">Denna kod är från mina egna sajter och ändrad för att passa som exempel. Det kan hända att den inte fungerar klockrent, men jag hoppas att den ändå hjälper er på traven. För att att den automatiskt genererade Title-taggen ska fungera måste självklart informationen finnas tillgänglig i en databas.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wedholm.net/unika-title-taggar-med-asp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Skriv till Access-databas med ASP</title>
		<link>http://www.wedholm.net/skriv-till-access-databas-med-asp/</link>
		<comments>http://www.wedholm.net/skriv-till-access-databas-med-asp/#comments</comments>
		<pubDate>Sat, 05 Sep 2009 19:36:58 +0000</pubDate>
		<dc:creator>Kristoffer Wedholm</dc:creator>
				<category><![CDATA[ASP]]></category>
		<category><![CDATA[HTML & CSS]]></category>

		<guid isPermaLink="false">http://www.wedholm.net/?p=1006</guid>
		<description><![CDATA[Tänkte nu göra en liten guide till hur man enkelt skriver information från ett formulär till en Access-databas i ASP. I detta exempel är det en kommentarfunktion från en av mina sajter som får agera exempel. Först börjar vi med att skapa formuläret i HTML, ni får ursäkta den omoderna tabellösningen utan CSS jag använder [...]]]></description>
			<content:encoded><![CDATA[<p>Tänkte nu göra en liten guide till hur man enkelt skriver information från ett formulär till en Access-databas i ASP. I detta exempel är det en kommentarfunktion från en av mina sajter som får agera exempel. Först börjar vi med att skapa formuläret i HTML, ni får ursäkta den omoderna tabellösningen utan CSS jag använder här. För att göra det snyggare föreslår jag att du sätter en <em>class</em> på alla <em>input</em> och bilder för att styla dem i en extern CSS-fil.</p>
<p style="text-align: left;"><span style="color: #000080;"><em>&lt;table width=&#8221;550&#8243; align=&#8221;left&#8221; border=&#8221;0&#8243;&gt;<br />
&lt;form method=&#8221;post&#8221; action=&#8221;</em></span><em><span style="color: #ff9900;">?do=spara</span></em><span style="color: #000080;"><em>&#8221;&gt;<br />
&lt;tr&gt;<br />
&lt;td colspan=&#8221;3&#8243; width=&#8221;550&#8243;&gt;&lt;b&gt;Rubrik:&lt;/b&gt; (max 45 tecken)&lt;br&gt;&lt;input maxlength=&#8221;45&#8243; name=&#8221;rubrik&#8221;&gt;&lt;/td&gt;<br />
&lt;/tr&gt;<br />
&lt;tr&gt;<br />
&lt;td colspan=&#8221;3&#8243; width=&#8221;550&#8243;&gt;&lt;b&gt;Text:&lt;/b&gt;&lt;br&gt;&lt;textarea name=&#8221;comment&#8221;&gt;&lt;/textarea&gt;&lt;/td&gt;<br />
&lt;/tr&gt;<br />
&lt;tr&gt;<br />
&lt;td width=&#8221;245&#8243; valign=&#8221;top&#8221;&gt;&lt;b&gt;Namn:&lt;/b&gt;&lt;br&gt;&lt;input value=&#8221;" name=&#8221;namn&#8221;&gt;&lt;/td&gt;<br />
&lt;td width=&#8221;245&#8243; valign=&#8221;top&#8221;&gt;&lt;b&gt;Hemsida:&lt;/b&gt;&lt;br&gt;&lt;input value=&#8221;http://www.&#8221; name=&#8221;hemsida&#8221; &gt;&lt;/td&gt;<br />
&lt;/tr&gt;<br />
&lt;tr&gt;<br />
&lt;td width=&#8221;275&#8243; valign=&#8221;top&#8221;&gt;&lt;b&gt;E-post:&lt;/b&gt;&lt;br&gt;&lt;input value=&#8221;" name=&#8221;epost&#8221;&gt;<br />
&lt;/td&gt;<br />
&lt;td width=&#8221;275&#8243; valign=&#8221;top&#8221;&gt;&lt;b&gt;Spamskydd:&lt;/b&gt;&lt;br&gt;&lt;img src=&#8221;grafik/kod2.jpg&#8221;&gt;&lt;input value=&#8221;" name=&#8221;spamprot&#8221;&gt;&lt;/td&gt;<br />
&lt;/tr&gt;<br />
&lt;tr&gt;<br />
&lt;td colspan=&#8221;3&#8243; width=&#8221;550&#8243;&gt;<br />
&lt;input type=&#8221;submit&#8221; value=&#8221;Posta kommentar&#8221;&gt;<br />
&lt;/td&gt;<br />
&lt;/tr&gt;<br />
&lt;/form&gt;<br />
&lt;/table&gt;</em></span></p>
<p>När formulärt är färdigt ska vi skriva ASP-koden som hämtar informationen från formuläret, lägger dem i variabler och sedan matar in dem på rätt plats i databasen. Ursäkta att koden är lite slarvigt skriven med en blandning av engelska och svenska.</p>
<p style="text-align: left;"><em><span style="color: #ff9900;">&lt;%</span><span style="color: #ff9900;"><br />
</span><span style="color: #ff9900;"> If Request.Querystring(&#8221;do&#8221;) = &#8221;spara&#8221; Then</span><span style="color: #ff9900;"><br />
</span><span style="color: #ff9900;"> Set Conn = Server.CreateObject(&#8221;ADODB.Connection&#8221;)</span><span style="color: #ff9900;"><br />
</span><span style="color: #ff9900;"> Conn.Open &#8221;Provider=Microsoft.Jet.OLEDB.4.0;Data Source=&#8221; &amp;Server.MapPath(&#8221;databas\db.mdb&#8221;)spamprotection	= Request.Form(&#8221;spamprot&#8221;)</span><span style="color: #ff9900;"> </span></p>
<p style="text-align: left;"><span style="color: #ff9900;">If spamprotection = &#8221;34$LkT&#8221; Then</span><span style="color: #ff9900;"><br />
</span><span style="color: #ff9900;"> SQL = &#8221;Insert Into comments (title,comment,datum,namn,hemsida,epost) Values(&#8216;&#8221; &amp; Request.Form(&#8221;rubrik&#8221;) &amp; &#8221;&#8216;,&#8217;&#8221; &amp; Request.Form(&#8221;comment&#8221;) &amp; &#8221;&#8216;,&#8217;&#8221; &amp; date &amp; &#8221;&#8216;,&#8217;&#8221; &amp; Request.Form(&#8221;namn&#8221;) &amp; &#8221;&#8216;,&#8217;&#8221; &amp; Request.Form(&#8221;hemsida&#8221;) &amp; &#8221;&#8216;,&#8217;&#8221; &amp; Request.Form(&#8221;epost&#8221;) &amp; &#8221;&#8216;)&#8221;</span><span style="color: #ff9900;"><br />
</span><span style="color: #ff9900;"> Conn.Execute(SQL)</span><span style="color: #ff9900;"><br />
</span><span style="color: #ff9900;"> RecSet.Close</span><span style="color: #ff9900;"><br />
</span><span style="color: #ff9900;"> Conn.Close</span><span style="color: #ff9900;"><br />
</span><span style="color: #ff9900;"> Set RecSet = Nothing</span><span style="color: #ff9900;"><br />
</span><span style="color: #ff9900;"> Set Conn = Nothing</span><span style="color: #ff9900;"><br />
</span><span style="color: #ff9900;"> Response.Redirect &#8221;kommentarer.asp&#8221;</span><span style="color: #ff9900;"><br />
</span><span style="color: #ff9900;"> Else</span><span style="color: #ff9900;"><br />
</span><span style="color: #ff9900;"> Response.Redirect &#8221;kommentarer.asp&#8221;</span><span style="color: #ff9900;"><br />
</span><span style="color: #ff9900;"> End If</span><span style="color: #ff9900;"><br />
</span><span style="color: #ff9900;"> End If</span><span style="color: #ff9900;"><br />
</span><span style="color: #ff9900;"> %&gt;</span></p>
<p></em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.wedholm.net/skriv-till-access-databas-med-asp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Spamskydda dina formulär</title>
		<link>http://www.wedholm.net/spamskydda-dina-formular/</link>
		<comments>http://www.wedholm.net/spamskydda-dina-formular/#comments</comments>
		<pubDate>Mon, 31 Aug 2009 01:03:28 +0000</pubDate>
		<dc:creator>Kristoffer Wedholm</dc:creator>
				<category><![CDATA[ASP]]></category>
		<category><![CDATA[Spam]]></category>

		<guid isPermaLink="false">http://www.wedholm.net/?p=981</guid>
		<description><![CDATA[Tidigare har jag skrivit ett inlägg där jag förklarar hur man skapar ett spamskydd i ASP. Det går ut på att låta besökaren upprepa tecken och siffror som syns i en bild, s.k captcha. Denna metod känner ni säkert igen från alla möjliga webbplatser. Robert Falkén kommenterade inlägget och gav mig en alternativ metod för [...]]]></description>
			<content:encoded><![CDATA[<p>Tidigare har jag skrivit ett inlägg där jag förklarar hur man skapar ett <a href="http://www.wedholm.net/2009/06/23/spamskydd-i-asp-2/" target="_self">spamskydd i ASP</a>. Det går ut på att låta besökaren upprepa tecken och siffror som syns i en bild, s.k captcha. Denna metod känner ni säkert igen från alla möjliga webbplatser.</p>
<p><a href="http://robertfalken.se/" target="_blank">Robert Falkén</a> kommenterade inlägget och gav mig en alternativ metod för att förhindra spamrobotar att posta information via formulär. Han skapar helt enkelt en dold input som döps till något som lätt fångar spamrobotarnas intresse, t.ex. &#8221;link&#8221; eller &#8221;url&#8221;. Eftersom detta formulärfält är dolt för vanliga besökare så kommer det inte fyllas i av någon utom spamrobotar. Därefter kodar man en enkel funktion som kollar av om fältet är ifyllt eller ej. Är det ifyllt så avbryts postningen av formuläret. Ungefär som i det här exemplet:</p>
<p><em>&lt;%<br />
spamskydd = Request.Form(&#8221;url&#8221;)<br />
If spamskydd &lt;&gt; &#8221;&#8221; Then<br />
Response.Redirect &#8221;formularsida.asp&#8221;<br />
Else<br />
&#8216;Hämta alla fält och mata in i databasen som vanligt<br />
%&gt;</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.wedholm.net/spamskydda-dina-formular/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Spamskydd i ASP</title>
		<link>http://www.wedholm.net/spamskydd-i-asp-2/</link>
		<comments>http://www.wedholm.net/spamskydd-i-asp-2/#comments</comments>
		<pubDate>Tue, 23 Jun 2009 01:54:19 +0000</pubDate>
		<dc:creator>Kristoffer Wedholm</dc:creator>
				<category><![CDATA[ASP]]></category>

		<guid isPermaLink="false">http://www.wedholm.net/?p=890</guid>
		<description><![CDATA[Här bjuder jag på ett enkelt spamskydd i ASP. Det har inte släppt igenom en enda spammning på de sajter jag använder det. Formulär &#60;form method=&#8221;post&#8221; action=&#8221;?do=save&#8221;&#62; Spamskydd: &#60;img src=&#8221;graphics/antispamcode.jpg&#8221;&#62;&#60;input name=&#8221;spamprot&#8221;&#62; &#60;/form&#62; ASP (do=save) &#60;%If Request.Querystring(&#8221;do&#8221;) = &#8221;save&#8221; Then Set Conn = Server.CreateObject(&#8221;ADODB.Connection&#8221;) Conn.Open &#8221;Provider=Microsoft.Jet.OLEDB.4.0;Data Source=&#8221; &#38;Server.MapPath(&#8221;database\database.mdb&#8221;) spamprotection = Request.Form(&#8221;spamprot&#8221;) If spamprotection = &#8221;5Z3fk&#8221; Then [...]]]></description>
			<content:encoded><![CDATA[<p>Här bjuder jag på ett enkelt spamskydd i ASP. Det har inte släppt igenom en enda spammning på de sajter jag använder det.</p>
<p style="text-align: left;"><strong>Formulär<br />
</strong><em>&lt;form method=&#8221;post&#8221; action=&#8221;?do=save&#8221;&gt;<br />
Spamskydd: &lt;img src=&#8221;graphics/antispamcode.jpg&#8221;&gt;&lt;input name=&#8221;spamprot&#8221;&gt;<br />
&lt;/form&gt;</em></p>
<p style="text-align: left;"><strong>ASP (do=save)</strong><br />
<em>&lt;%If Request.Querystring(&#8221;do&#8221;) = &#8221;save&#8221; Then<br />
Set Conn = Server.CreateObject(&#8221;ADODB.Connection&#8221;)<br />
Conn.Open &#8221;Provider=Microsoft.Jet.OLEDB.4.0;Data Source=&#8221; &amp;Server.MapPath(&#8221;database\database.mdb&#8221;)</p>
<p style="text-align: left;">spamprotection = Request.Form(&#8221;spamprot&#8221;)<br />
If spamprotection = &#8221;5Z3fk&#8221; Then<br />
SQL = &#8221;INSERT INTO comments (title,comment,postdate,postername,website) VALUES(&#8216;&#8221; &amp; Request.Form(&#8221;rubrik&#8221;) &amp; &#8221;&#8216;,&#8217;&#8221; &amp; Request.Form(&#8221;comment&#8221;) &amp; &#8221;&#8216;,&#8217;&#8221; &amp; date &amp; &#8221;&#8216;,&#8217;&#8221; &amp; Request.Form(&#8221;namn&#8221;) &amp; &#8221;&#8216;,&#8217;&#8221; &amp; Request.Form(&#8221;hemsida&#8221;) &amp; &#8221;&#8216;)&#8221;<br />
Conn.Execute(SQL)<br />
Response.Redirect &#8221;comments.asp&#8221;<br />
Else<br />
Response.Redirect &#8221;comments.asp&#8221;<br />
End If<br />
End If%&gt;</p>
<p></em></p>
<p style="text-align: left;">Som du säkert ser så har jag bantat ner formuläret till enbart den input som användaren skriver in captcha-koden på bilden. Du skapar alltså en bild (JPG förslagsvis) och ser till att skriva exakt samma teckenkombination i if-satsen i ASP-koden ovan. Om användaren/spamboten skriver in något annat än just den räätta kombinationen så skickas denne tillbaka till formulärsidan utan att något matas in i databasen.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wedholm.net/spamskydd-i-asp-2/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Problem med betygsystem</title>
		<link>http://www.wedholm.net/problem-med-betygsystem/</link>
		<comments>http://www.wedholm.net/problem-med-betygsystem/#comments</comments>
		<pubDate>Sat, 13 Jun 2009 02:50:36 +0000</pubDate>
		<dc:creator>Kristoffer Wedholm</dc:creator>
				<category><![CDATA[ASP]]></category>
		<category><![CDATA[Webbprojekt]]></category>

		<guid isPermaLink="false">http://www.wedholm.net/?p=878</guid>
		<description><![CDATA[Jag har kört fast i arbetet med att koda ett betygsystem till Favoritrecept.com. Det är ett simpelt script som bara adderar betygen 1-5 till en tabell, och för att få fram snittbetyget så ska den totala summan divideras med antalet betygsättningar. Problemet är bara att jag inte får inmatningen att funka på det aktuella recept-id [...]]]></description>
			<content:encoded><![CDATA[<p>Jag har kört fast i arbetet med att koda ett betygsystem till Favoritrecept.com. Det är ett simpelt script som bara adderar betygen 1-5 till en tabell, och för att få fram snittbetyget så ska den totala summan divideras med antalet betygsättningar. Problemet är bara att jag inte får inmatningen att funka på det aktuella <em>recept-id</em> man befinner sig på. Nu har jag suttit med skiten i tre nätter i rad och börjar bli uppgiven, speciellt eftersom jag misstänker att det är något simpelt misstag jag gjort.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wedholm.net/problem-med-betygsystem/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mer om referrer-scriptet</title>
		<link>http://www.wedholm.net/mer-om-referrer-scriptet/</link>
		<comments>http://www.wedholm.net/mer-om-referrer-scriptet/#comments</comments>
		<pubDate>Wed, 03 Jun 2009 02:06:50 +0000</pubDate>
		<dc:creator>Kristoffer Wedholm</dc:creator>
				<category><![CDATA[ASP]]></category>

		<guid isPermaLink="false">http://www.wedholm.net/?p=828</guid>
		<description><![CDATA[När jag skrivit klart förra inlägget kom jag på att jag redan har förbättrat det existerande referrer-scriptet en aning. Det handlar om funktionen som kollar upp om den aktuella hänvisande domänen ska blockeras eller matas in i databasen. Tidigare använde jag en lång och svåruppdaterad If-sats där adresserna lagrades direkt i koden. När jag bestämde [...]]]></description>
			<content:encoded><![CDATA[<p>När jag skrivit klart förra inlägget kom jag på att jag redan har förbättrat det existerande referrer-scriptet en aning. Det handlar om funktionen som kollar upp om den aktuella hänvisande domänen ska blockeras eller matas in i databasen. Tidigare använde jag en lång och svåruppdaterad If-sats där adresserna lagrades direkt i koden. När jag bestämde mig för en ny lösning var denna If-sats redan 25 rader med fyra blockerade domäner per rad.</p>
<p style="text-align: left;"><em>&lt;%If url &lt;&gt; “www.google.se” AND url &lt;&gt; “www.google.com” AND url &lt;&gt; “www.google.dk” AND url &lt;&gt; “www.google.no” AND url &lt;&gt; “www.google.fi” Then%&gt;</em></p>
<p>Nu har jag alltså förbättrat scriptet så att det söker igenom rader i en tabell och jämför med den aktuella hänvisningsdomänen för varje besök (som kommer via just en länk).</p>
<p style="text-align: left;"><em>&lt;%<br />
Set Conn = Server.CreateObject(&#8221;ADODB.Connection&#8221;)<br />
Conn.Open &#8221;Provider=Microsoft.Jet.OLEDB.4.0;Data Source=&#8221; &amp;Server.MapPath(&#8221;databasen\refererfilter_databas.mdb&#8221;)<br />
Set RecSet = Server.CreateObject(&#8221;ADODB.RecordSet&#8221;)SQL = &#8221;SELECT * FROM refererfilter WHERE url like &#8216;%&#8221;&amp;url&amp;&#8221;%&#8217;&#8221;<br />
RecSet.Open SQL, Conn</p>
<p>If RecSet.EOF Then<br />
&#8216;Kod för inmatning<br />
Else<br />
End If<br />
%&gt;</p>
<p></em></p>
<p style="text-align: left;">Detta gör det mycket lättare att lägga till oönskade domäner/adresser i filtret, t.ex genom ett enkelt adminformulär. Jag kommer lägga upp hela det uppdaterade scriptet här på bloggen senare.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wedholm.net/mer-om-referrer-scriptet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Uppmana besökarna att uppgradera IE6</title>
		<link>http://www.wedholm.net/uppmana-besokarna-att-uppgradera-ie6/</link>
		<comments>http://www.wedholm.net/uppmana-besokarna-att-uppgradera-ie6/#comments</comments>
		<pubDate>Wed, 27 May 2009 01:10:40 +0000</pubDate>
		<dc:creator>Kristoffer Wedholm</dc:creator>
				<category><![CDATA[ASP]]></category>

		<guid isPermaLink="false">http://www.wedholm.net/?p=808</guid>
		<description><![CDATA[Jag har skapat en funktion i ASP som automatiskt visar ett meddelande enbart för de som besöker min sajt med Internet Explorer 6. Detta gör det möjligt att upp-märksamma personer om att de kör en föråldrad webbläsare utan att reta upp de andra med varningsmeddelanden som inte rör dem. Använd detta script hur du vill. [...]]]></description>
			<content:encoded><![CDATA[<p>Jag har skapat en funktion i ASP som automatiskt visar ett meddelande enbart för de som besöker min sajt med Internet Explorer 6. Detta gör det möjligt att upp-märksamma personer om att de kör en föråldrad webbläsare utan att reta upp de andra med varningsmeddelanden som inte rör dem. Använd detta script hur du vill.</p>
<p style="text-align: left;">Gör en include av filen ie6check.asp i HEAD-taggen på alla dina sidor.<br />
<em>&lt;!&#8211;#include file=&#8221;includes/ie6check.asp&#8221;&#8211;&gt; </em></p>
<p style="text-align: left;"><strong>ie6check.asp</strong><br />
<em>&lt;%<br />
Dim myUA,ua,ua2<br />
myUA = Request.ServerVariables(&#8221;HTTP_USER_AGENT&#8221;)<br />
ua = lcase(myUA)<br />
ua2 = instr(ua,&#8221;msie 6&#8243;)<br />
%&gt;</em></p>
<p style="text-align: left;">Lägg därefter in en include av filen ie6varning.asp på lämplig plats där du vill visa den stylade div:en som meddelandet finns i.<br />
<em>&lt;!&#8211;#include file=&#8221;includes/ie6varning.asp&#8221;&#8211;&gt;</em></p>
<p style="text-align: left;"><strong>ie6varning.asp</strong><br />
<em>&lt;%<br />
If ua2 &gt; 0 Then<br />
%&gt;<br />
&lt;div style=&#8221;width: 550px; float: left; margin-bottom: 20px; border: 2px solid #FFFFFF; padding: 10px; background-color: #000000;&#8221;&gt;<br />
&lt;p class=&#8221;varningstext_rubrik&#8221;&gt;Uppgradera din webbläsare!&lt;/p&gt;<br />
&lt;p class=&#8221;varningstext&#8221;&gt;Du använder den otroligt gamla webbläsaren Internet Explorer 6. Detta gör att denna  sida (och många andra) inte ser ut, och beter sig som de ska. Vi ber dig att uppdatera till en ny version. Här är några bra märken och tillverkare:&lt;/p&gt;<br />
&lt;p class=&#8221;text&#8221;&gt;<br />
&lt;a href=&#8221;http://www.microsoft.com/windows/Internet-explorer/default.aspx&#8221; target=&#8221;_blank&#8221;&gt;Internet Explorer&lt;/a&gt;,<br />
&lt;a href=&#8221;http://www.opera.com/download/&#8221; target=&#8221;_blank&#8221;&gt;Opera&lt;/a&gt;,<br />
&lt;a href=&#8221;http://www.google.com/chrome&#8221; target=&#8221;_blank&#8221;&gt;Google Chrome&lt;/a&gt;,<br />
&lt;a href=&#8221;http://sv-se.www.mozilla.com/sv-SE/&#8221; target=&#8221;_blank&#8221;&gt;FireFox&lt;/a&gt;<br />
&lt;/p&gt;<br />
&lt;/div&gt;<br />
&lt;%<br />
Else<br />
End If<br />
%&gt;</em></p>
<p style="text-align: left;">Uppdaterar inlägget med en bild som beskriver hur jag föredrar att utforma informationsrutan. Mycket synlig men inte särskilt störande.</p>
<p style="text-align: left;"><img class="alignnone" src="http://www.wedholm.net/blogg/ie6-varning.jpg" alt="" width="450" height="264" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.wedholm.net/uppmana-besokarna-att-uppgradera-ie6/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Uppfinn hjulet igen!</title>
		<link>http://www.wedholm.net/uppfinn-hjulet-igen/</link>
		<comments>http://www.wedholm.net/uppfinn-hjulet-igen/#comments</comments>
		<pubDate>Fri, 15 May 2009 00:29:54 +0000</pubDate>
		<dc:creator>Kristoffer Wedholm</dc:creator>
				<category><![CDATA[ASP]]></category>
		<category><![CDATA[Webbutveckling]]></category>

		<guid isPermaLink="false">http://www.wedholm.net/?p=766</guid>
		<description><![CDATA[Många anser att det är bättre och smidigare att återanvända gammal kod för olika funktioner på webbplatser. Det främsta argumentet brukar vara att det är tidsbesparande. Jag anser dock att det kan vara dumt i många fall att använda sig av befintliga lösningar. Det handlar om att ha full kunskap om vad koden gör, vilket [...]]]></description>
			<content:encoded><![CDATA[<p>Många anser att det är bättre och smidigare att återanvända gammal kod för olika funktioner på webbplatser. Det främsta argumentet brukar vara att det är tidsbesparande. Jag anser dock att det kan vara dumt i många fall att använda sig av befintliga lösningar. Det handlar om att ha full kunskap om vad koden gör, vilket du har om du skrivit den själv. Det är dessutom utvecklande för dig och dina programmerings- kunskaper.</p>
<p>Det slitna uttrycket &#8221;att uppfinna hjulet igen&#8221; syftar som bekant på att det är onödigt att lägga energi på något som redan finns tillgängligt. Men även hjulet har förbättrats genom åren. Bilar kör ju knappast omkring med trästockar som hjul, de har fått gummidäck för att minska buller och friktion m.m. Det jag vill komma till är att jag tycker det är helt ok att vidareutveckla befintlig kod, att kombinera kodstycken för att komma fram till en bättre och effektivare lösning.</p>
<p>Om du vill lära dig programmera och utvecklas inom programmeringen bör du inte enbart använda färdiga lösningar och pussla ihop dem. Alla kan bygga ihop en IKEA-möbel, men man kan inte kalla sig snickare eller hantverkare för den sakens skull.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wedholm.net/uppfinn-hjulet-igen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Temporary redirect</title>
		<link>http://www.wedholm.net/temporary-redirect/</link>
		<comments>http://www.wedholm.net/temporary-redirect/#comments</comments>
		<pubDate>Fri, 10 Apr 2009 01:34:37 +0000</pubDate>
		<dc:creator>Kristoffer Wedholm</dc:creator>
				<category><![CDATA[ASP]]></category>

		<guid isPermaLink="false">http://www.wedholm.net/?p=668</guid>
		<description><![CDATA[Om du av någon anledning inte vill göra en permanent vidarebefordring av besökare från en sida till en annan kan du använda en 302-redirect. Det innebär att du temporärt flyttar din sida till en annan adress, vilket också betyder att ingen länkkraft överförs till den nya adressen. Denna vidarebefordring behandlas på olika sätt av olika [...]]]></description>
			<content:encoded><![CDATA[<p>Om du av någon anledning inte vill göra en permanent vidarebefordring av besökare från en sida till en annan kan du använda en 302-redirect. Det innebär att du temporärt flyttar din sida till en annan adress, vilket också betyder att ingen länkkraft överförs till den nya adressen. Denna vidarebefordring behandlas på olika sätt av olika sökmotorer och därför rekommenderas den vanligtvis inte.</p>
<p>Jag tycker dock man kan använda en 302-redirect för att tillfälligt skicka besökare från en sajt till en annan. Om man av någon anledning vill göra detta för en kortare tid känns det ju fel att använda en 301 permanent redirect .</p>
<p>I ASP skriver du bara nedanstående i index.asp:</p>
<p>&lt;%<br />
Response.Redirect &#8221;http://www.doman.se&#8221;<br />
%&gt;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wedholm.net/temporary-redirect/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Spamskydd i ASP</title>
		<link>http://www.wedholm.net/spamskydd-i-asp/</link>
		<comments>http://www.wedholm.net/spamskydd-i-asp/#comments</comments>
		<pubDate>Tue, 24 Mar 2009 15:44:14 +0000</pubDate>
		<dc:creator>Kristoffer Wedholm</dc:creator>
				<category><![CDATA[ASP]]></category>

		<guid isPermaLink="false">http://www.wedholm.net/?p=602</guid>
		<description><![CDATA[Du som har ett kontaktformulär på din webbplats märker säkert att spamrobotar är flitiga besökare som dessutom vill komma i kontakt med dig. I detta inlägg tänkte jag visa hur du bygger ett enkelt men effektivt spamskydd i ASP. Det första du behöver göra är att lägga till ett inmatningsfält i formuläret. 10 plus 13 [...]]]></description>
			<content:encoded><![CDATA[<p>Du som har ett kontaktformulär på din webbplats märker säkert att spamrobotar är flitiga besökare som dessutom vill komma i kontakt med dig. I detta inlägg tänkte jag visa hur du bygger ett enkelt men effektivt spamskydd i ASP.</p>
<p>Det första du behöver göra är att lägga till ett inmatningsfält i formuläret.</p>
<p><em style="color: #808080; font-style: normal; font-size: 8pt;">10 plus 13 = &lt;input name=&#8221;spamprot&#8221;&gt;</em></p>
<p>Därefter kommer vi ttill själva koden som kontrollerar om rätt svar har angetts, som i detta fall ska svaret som matats in vara 23.</p>
<p><em style="color: #808080; font-style: normal; font-size: 8pt;">&lt;%<br />
spamprotection = Request.Form(&#8221;spamprot&#8221;)<br />
If spamprotection = &#8221;23&#8243; Then<br />
&#8216; Lägg till kod för att skicka meddelande eller mata in i databasen här<br />
Response.Redirect &#8221;meddelande.asp&#8221;<br />
Else<br />
&#8216; Skickar tillbaka roboten till meddelandesidan utan att göra något alls<br />
Response.Redirect &#8221;meddelande.asp&#8221;<br />
End If<br />
%&gt;</em></p>
<p>Detta enkla spamskydd har helt tagit bort spampostningar i mina formulär och jag hoppas det kan hjälpa dig också.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wedholm.net/spamskydd-i-asp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Include i ASP</title>
		<link>http://www.wedholm.net/include-i-asp/</link>
		<comments>http://www.wedholm.net/include-i-asp/#comments</comments>
		<pubDate>Mon, 23 Mar 2009 20:33:11 +0000</pubDate>
		<dc:creator>Kristoffer Wedholm</dc:creator>
				<category><![CDATA[ASP]]></category>

		<guid isPermaLink="false">http://www.wedholm.net/?p=600</guid>
		<description><![CDATA[Idag kollade jag äntligen upp hur man gör för att inkludera externa ASP-filer till mina sidor. Jag har tidigare gjort det lite smått för vissa ASP-funktioner, men tänkte nu göra det i större skala för att snygga till index.asp m.fl. Det är ju väldigt simpelt och det är inte bara ren ASP-kod som kan inkluderas [...]]]></description>
			<content:encoded><![CDATA[<p>Idag kollade jag äntligen upp hur man gör för att inkludera <em>externa</em> ASP-filer till mina sidor. Jag har tidigare gjort det lite smått för vissa ASP-funktioner, men tänkte nu göra det i större skala för att snygga till <em>index.asp</em> m.fl.</p>
<p>Det är ju väldigt simpelt och det är inte bara ren ASP-kod som kan inkluderas utan även HTML i externa filer. Om du har långa kodsnuttar för funktioner så lägger du dem alltså bara i en extern fil. Denna fil behöver inte innehålla &lt;html&gt; och &lt;head&gt; o.s.v. utan bara det som ska inkluderas rakt av.</p>
<p>Klistra in följande på den plats där det inkluderade innehållet ska visas:<br />
<em>&lt;!&#8211;#include file=&#8221;filnamn.asp&#8221;&#8211;&gt; </em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.wedholm.net/include-i-asp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lista som byter kolumn</title>
		<link>http://www.wedholm.net/lista-som-byter-kolumn/</link>
		<comments>http://www.wedholm.net/lista-som-byter-kolumn/#comments</comments>
		<pubDate>Thu, 19 Mar 2009 21:32:35 +0000</pubDate>
		<dc:creator>Kristoffer Wedholm</dc:creator>
				<category><![CDATA[ASP]]></category>

		<guid isPermaLink="false">http://www.wedholm.net/?p=525</guid>
		<description><![CDATA[Nu har jag suttit några timmar och förökt mig på att skapa en ASP-genererad lista som automatiskt byter div/kolumn efter en tredjedel av antalet tabellposter. Bilden nedan är tänkt att illustrera problemet. Jag har kommit så långt att jag räknat antalet poster och dividerat summan för att få fram det aktuella talet för en tredjedel [...]]]></description>
			<content:encoded><![CDATA[<p>Nu har jag suttit några timmar och förökt mig på att skapa en ASP-genererad lista som automatiskt byter div/kolumn efter en tredjedel av antalet tabellposter. Bilden nedan är tänkt att illustrera problemet.</p>
<p><img class="alignnone" src="http://www.wedholm.net/blogg/asplista.jpg" alt="" width="300" height="240" /></p>
<p>Jag har kommit så långt att jag räknat antalet poster och dividerat summan för att få fram det aktuella talet för en tredjedel av posterna. Detta görs med denna kod:</p>
<p><em style="font-style: normal; font-size: 8pt; color: #808080;">&lt;%<br />
SQL = &#8221;SELECT * FROM poster&#8221;<br />
objRecordset.CursorType = adOpenStatic<br />
objRecordset.Open SQL, ConnobjRecordset.MoveFirst<br />
q = 0<br />
Do While Not objRecordset.EOF<br />
q = q + 1<br />
objRecordset.MoveNext<br />
Loop<br />
postcount = q<br />
third = postcount / 3<br />
%&gt;</em></p>
<p>Nu återstår ju dock att lista ut hur man skriver koden för kolumn-brytningen. Är det någon som kan hjälpa mig, släng då iväg en kommentar eller ett mail.</p>
<p><em style="font-style: normal; font-size: 8pt; color: #808080;"></p>
<p></em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.wedholm.net/lista-som-byter-kolumn/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Viktigt vid byte av domän</title>
		<link>http://www.wedholm.net/viktigt-vid-byte-av-doman/</link>
		<comments>http://www.wedholm.net/viktigt-vid-byte-av-doman/#comments</comments>
		<pubDate>Mon, 16 Mar 2009 01:29:12 +0000</pubDate>
		<dc:creator>Kristoffer Wedholm</dc:creator>
				<category><![CDATA[ASP]]></category>
		<category><![CDATA[Sökmotoroptimering]]></category>
		<category><![CDATA[Webbutveckling]]></category>

		<guid isPermaLink="false">http://www.wedholm.net/?p=461</guid>
		<description><![CDATA[För några månader sedan bytte jag domän för den här bloggen från blogg.wedholm.net till www.wedholm.net. Om du planerar att göra något liknande så måste du komma ihåg att göra en &#8221;permanent redirect&#8221; från den gamla domänen till den nya. Detta gör så att de besökare som har lagt till din webbplats bland sina favoriter innan [...]]]></description>
			<content:encoded><![CDATA[<p>För några månader sedan bytte jag domän för den här bloggen från <em>blogg.wedholm.net</em> till <em>www.wedholm.net</em>. Om du planerar att göra något liknande så måste du komma ihåg att göra en &#8221;permanent redirect&#8221; från den gamla domänen till den nya. Detta gör så att de besökare som har lagt till din webbplats bland sina favoriter innan ditt domänbyte inte möts av en tom sida, utan dirigeras vidare till din nya adress. Detta gäller även för sökmotorer som har din gamla domän i sitt index och försöker nå den för en ny indexering. En permanent redirect talar om för Google m.fl. att din webbplats permanent har flyttats till den nya adressen. Med denna metod behåller du även länkkraften från de inlänkar som pekar mot den gamla domänen.</p>
<h3>301 Permanent redirect</h3>
<p><span style="text-decoration: underline;">ASP<br />
</span><em style="font-style: normal; font-size: 8pt;">&lt;%@ Language=VBScript %&gt;<br />
&lt;%<br />
Response.Status = &#8221;301 Moved Permanently&#8221;<br />
Response.AddHeader &#8221;Location&#8221;, &#8221;http://www.nydoman.se/&#8221;<br />
Response.End<br />
%&gt;</em></p>
<p><span style="text-decoration: underline;">PHP</span><br />
<em style="font-style: normal; font-size: 8pt;">&lt;?php<br />
header(&#8221;HTTP/1.1 301 Moved Permanently&#8221;);<br />
header(&#8221;Location: http://www.nydoman.se&#8221;);<br />
?&gt;</em></p>
<p><span style="text-decoration: underline;">ASP.NET</span><br />
<em style="font-style: normal; font-size: 8pt;">&lt;script runat=&#8221;server&#8221;&gt;<br />
private void Page_Load(object sender, System.EventArgs e)<br />
{<br />
Response.Status = &#8221;301 Moved Permanently&#8221;;<br />
Response.AddHeader(&#8221;Location&#8221;,&#8221;http://www.nydoman.se/&#8221;);<br />
}<br />
&lt;/script&gt;</em></p>
<p><span style="text-decoration: underline;">JSP (Java)<br />
</span><em style="font-style: normal; font-size: 8pt;">&lt;%<br />
response.setStatus(301);<br />
response.setHeader( &#8221;Location&#8221;, &#8221;http://www.nydoman.se/&#8221; );<br />
response.setHeader( &#8221;Connection&#8221;, &#8221;close&#8221; );<br />
%&gt;</em></p>
<p><span style="text-decoration: underline;">.htaccess<br />
</span><em style="font-style: normal; font-size: 8pt;">Options +FollowSymLinks<br />
RewriteEngine on<br />
RewriteRule (.*) http://www.nydoman.se/$1 [R=301,L]</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.wedholm.net/viktigt-vid-byte-av-doman/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Väldigt kortfattat om HTML, CSS och ASP</title>
		<link>http://www.wedholm.net/valdigt-kortfattat-om-html-css-och-asp/</link>
		<comments>http://www.wedholm.net/valdigt-kortfattat-om-html-css-och-asp/#comments</comments>
		<pubDate>Thu, 20 Nov 2008 15:27:25 +0000</pubDate>
		<dc:creator>Kristoffer Wedholm</dc:creator>
				<category><![CDATA[ASP]]></category>
		<category><![CDATA[Webbdesign]]></category>

		<guid isPermaLink="false">http://blogg.wedholm.net/2008/11/20/valdigt-kortfattat-om-html-css-och-asp/</guid>
		<description><![CDATA[HTML (HyperText Markup Language) utgör strukturen på sajten och här skrivs innehållet som ska visas. HTML-kod är uppbyggd av sk. taggar som avkodas/tolkas av webbläsaren för att presentera sajten på det sätt som skaparen vill. HTML är ett sk. märkspråk och en webbstandard för strukturering av text. CSS (Cascading Style Sheets) är stilmallar där man [...]]]></description>
			<content:encoded><![CDATA[<p><strong>HTML (HyperText Markup Language)</strong> utgör strukturen på sajten och här skrivs innehållet som ska visas. HTML-kod är uppbyggd av sk. taggar som avkodas/tolkas av webbläsaren för att presentera sajten på det sätt som skaparen vill. HTML är ett sk. märkspråk och en webbstandard för strukturering av text.</p>
<p><strong>CSS (Cascading Style Sheets)</strong> är stilmallar där man bestämmer presentationsstilen för de olika delarna va HTML-sidan. Man kan bl.a bestämma vilken font eller fontstorlek som ska användas. I HTML-filen hänvisar man till att de olika elementens egenskaper finns angivna i CSS-filen. Fördelen med att använda sig av en extern CSS-fil är att inställningarna bara behöver ändras på ett ställe, istället för i varje HTML-dokument. I HTML-filen anges bara ett ID eller en klass som sedan har sina egenskaper angivna i CSS-filen.</p>
<p><strong>ASP</strong> använder man för att skapa dynamiska webbsidor, till exempel genom att läsa och skriva information till databaser. ASP-koden tolkas av webbservern som sedan skickar vanlig HTML-kod till webbläsaren.</p>
<p>ASP-kod kallas för “server-side script”, vilket betyder att den just tolkas av webbservern. JavaScript är ett exempel på “client-side script”, som körs och tolkas i användarens webbläsare. De vanligaste scriptspråken i ASP är VBScript och JScript.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wedholm.net/valdigt-kortfattat-om-html-css-och-asp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>En hel webbplats på en ASP/HTML-sida</title>
		<link>http://www.wedholm.net/en-hel-webbplats-pa-en-asphtml-sida/</link>
		<comments>http://www.wedholm.net/en-hel-webbplats-pa-en-asphtml-sida/#comments</comments>
		<pubDate>Wed, 22 Oct 2008 02:08:50 +0000</pubDate>
		<dc:creator>Kristoffer Wedholm</dc:creator>
				<category><![CDATA[ASP]]></category>
		<category><![CDATA[HTML & CSS]]></category>
		<category><![CDATA[Webbdesign]]></category>

		<guid isPermaLink="false">http://blogg.wedholm.net/2008/10/22/en-hel-webbplats-pa-en-asphtml-sida/</guid>
		<description><![CDATA[Av någon anledning har jag fortsatt att bygga hemsidor på fler ASP-sidor. En av anledningarna är att om sidan blir väldigt stor och innehållsrik. Då kan det vara bra att dela upp det på fler sidor bara för att slippa en fil på 10000 rader. Har du däremot en mindre sida, men ca: fem underavdelningar [...]]]></description>
			<content:encoded><![CDATA[<p>Av någon anledning har jag fortsatt att bygga hemsidor på fler ASP-sidor. En av anledningarna är att om sidan blir väldigt stor och innehållsrik. Då kan det vara bra att dela upp det på fler sidor bara för att slippa en fil på 10000 rader.</p>
<p>Har du däremot en mindre sida, men ca: fem underavdelningar så tycker jag det är en klar fördel att bara köra <em>QueryString&#8217;s</em> på index.asp. Du bygger helt enkelt upp sidan i sektioner (som vanligt) och låter helt enkelt innehållsytan bytas ut beroende på vilken avdelning som ska visas.</p>
<p>Säg att du har dessa menyval på din webbplats: <em>Startsidan</em>, <em>Om mig</em> och <em>Mina bilder</em>. Vanligsvis skulle du länka dessa avdelningar till filer (t.ex ommig.html). När vi använder <em>QueryString&#8217;s</em> kan vi välja vad på indexsidan som ska visas beroende på vad vi anropar, trots att alla &#8221;sidor&#8221; ligger i samma fil.</p>
<p>Du har en innehålls-div på sidan som visar &#8221;Välkommen till min hemsida&#8221; eller liknande på startsidan. Jag ska försöka mig på ett kodexempel nu:</p>
<p align="left">&lt;div class=&#8221;column_middle&#8221;&gt;<br />
&lt;%If Request.Querystring(&#8221;page&#8221;) = &#8221;&#8221; Then%&gt;<br />
&lt;div class=&#8221;middle_content&#8221;&gt;<br />
&lt;H1&gt;Välkommen&lt;/H1&gt;<br />
&lt;p&gt;&#8230;Till min hemsida&lt;/p&gt;<br />
&lt;/div&gt;<br />
&lt;%End If%&gt;<br />
&lt;/div&gt;</p>
<p align="left">&lt;div class=&#8221;column_middle&#8221;&gt;<br />
&lt;%If Request.Querystring(&#8221;page&#8221;) = &#8221;minabilder&#8221; Then%&gt;<br />
&lt;div class=&#8221;middle_content&#8221;&gt;<br />
&lt;H1&gt;Mina bilder&lt;/H1&gt;<br />
&lt;img src=&#8221;bild.jpg&#8221; mce_src=&#8221;bild.jpg&#8221;&gt;<br />
&lt;/div&gt;<br />
&lt;%End If%&gt;<br />
&lt;/div&gt;</p>
<p align="left">&lt;div class=&#8221;column_middle&#8221;&gt;<br />
&lt;%If Request.Querystring(&#8221;page&#8221;) = &#8221;ommig&#8221; Then%&gt;<br />
&lt;div class=&#8221;middle_content&#8221;&gt;<br />
&lt;H1&gt;Om mig&lt;/H1&gt;<br />
&lt;p&gt;Jag heter Örjan&lt;/p&gt;<br />
&lt;/div&gt;<br />
&lt;%End If%&gt;<br />
&lt;/div&gt;</p>
<p>Istället för att länka till olika HTML-sidor så kan vi nu säga till sidan att visa en specifik QueryString.<br />
&lt;a href=&#8221;index.asp&#8221;&gt;Startsidan&lt;/a&gt;<br />
&lt;a href=&#8221;index.asp?page=ommig&#8221;&gt;Om mig&lt;/a&gt;<br />
&lt;a href=&#8221;index.asp?page=minabilder&#8221;&gt;Mina bilder&lt;/a&gt;<br />
Startsidan vill vi ju ha direkt under index.asp för att besökarna ska komma dit när de skriver in din URL i webbläsaren. Lämnar vi detta tomt (If Request.Querystring(&#8221;page&#8221;) = &#8221;<strong>ommig</strong>&#8221; Then) så kommer det vara den If-satsen som visas som <em>default</em>.</p>
<p>Självklart kan du använda samma <em>If-QueryString</em> på fler ställen på sidan. Om du t.ex vill att något speciellt ska visas i högerkolumnen när besökaren är inne på en viss avdelning.</p>
<p>Hoppas jag inte har lyckats vara för svårbegriplig.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wedholm.net/en-hel-webbplats-pa-en-asphtml-sida/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Webmaster Network &#8211; ett måste!</title>
		<link>http://www.wedholm.net/webmaster-network-ett-maste/</link>
		<comments>http://www.wedholm.net/webmaster-network-ett-maste/#comments</comments>
		<pubDate>Sat, 18 Oct 2008 19:06:01 +0000</pubDate>
		<dc:creator>Kristoffer Wedholm</dc:creator>
				<category><![CDATA[ASP]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Marknadsföring]]></category>
		<category><![CDATA[Sökmotoroptimering]]></category>
		<category><![CDATA[Webbdesign]]></category>
		<category><![CDATA[Webbprojekt]]></category>

		<guid isPermaLink="false">http://blogg.wedholm.net/2008/10/18/webmaster-network-ett-maste/</guid>
		<description><![CDATA[Webmaster Network är ett måste för alla som håller på med webbplatser och webbutveckling. Här finns massor av kunskap samlad.]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.wn.se">Webmaster Network</a> är ett måste för alla som håller på med webbplatser och webbutveckling. Här finns massor av kunskap samlad.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wedholm.net/webmaster-network-ett-maste/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Referer-script i ASP</title>
		<link>http://www.wedholm.net/referer-script/</link>
		<comments>http://www.wedholm.net/referer-script/#comments</comments>
		<pubDate>Wed, 06 Aug 2008 00:17:55 +0000</pubDate>
		<dc:creator>Kristoffer Wedholm</dc:creator>
				<category><![CDATA[ASP]]></category>
		<category><![CDATA[Webbdesign]]></category>

		<guid isPermaLink="false">http://blogg.wedholm.net/2008/08/06/referer-script/</guid>
		<description><![CDATA[I detta inlägg förutsätter jag att du har grundläggande kunskaper i ASP. Jag kommer inte förklara allt i detalj, utan bara det jag anser vara lite mer avancerat. Börja med att skapa en databas, t.ex i Microsoft Access vilken jag använder i detta exempel. I databasen skapar du en tabell som heter &#8221;referer&#8221;. Skapa därefter följande [...]]]></description>
			<content:encoded><![CDATA[<p>I detta inlägg förutsätter jag att du har grundläggande kunskaper i ASP. Jag kommer inte förklara allt i detalj, utan bara det jag anser vara lite mer avancerat.</p>
<p>Börja med att skapa en databas, t.ex i Microsoft Access vilken jag använder i detta exempel. I databasen skapar du en tabell som heter &#8221;referer&#8221;. Skapa därefter följande kolumner:</p>
<p align="left"><em>url (memo)<br />
antal (number)<br />
totalt (number) </em></p>
<p>Spara databasen och ladda upp den i en mapp på ditt webbhotell (i detta exempel heter mappen &#8221;db&#8221; och databasen &#8221;data.mdb&#8221;)</p>
<p>Därefter skriver vi ASP-koden som registrerar från vilken webbplats besökarna kommer. Denna kod lägger du förslagsvis enbart på förstasidan.</p>
<p align="left"><em>&lt;%<br />
<em>referer = Request.ServerVariables(&#8221;HTTP_REFERER&#8221;)<br />
If referer &lt;&gt; &#8221;&#8221; Then<br />
Dim WordArray<br />
WordArray = Split(referer, &#8221;/&#8221;)<br />
url = WordArray(2)<br />
check_visitor = Request.Cookies(&#8221;visitor&#8221;)<br />
If check_visitor &lt;&gt; &#8221;counted_for&#8221; Then<br />
If url &lt;&gt; &#8221;www.google.se&#8221; AND url &lt;&gt; &#8221;www.google.com&#8221; Then<br />
Set Conn = Server.CreateObject(&#8221;ADODB.Connection&#8221;)<br />
Conn.Open &#8221;Provider=Microsoft.Jet.OLEDB.4.0;Data Source=&#8221; &amp;Server.MapPath(&#8221;db\data.mdb&#8221;)<br />
Set RecSet = Server.CreateObject(&#8221;ADODB.RecordSet&#8221;)<br />
&#8216;Response.Write (url)<br />
SQL = &#8221;SELECT * FROM referer WHERE url like &#8216;%&#8221;&amp;url&amp;&#8221;%&#8217;&#8221;<br />
RecSet.Open SQL, Conn<br />
&#8216;uppdatbesok = RecSet(&#8221;antal&#8221;) + 1<br />
If RecSet.EOF Then<br />
Response.Cookies(&#8221;visitor&#8221;) = &#8221;counted_for&#8221;<br />
Response.Cookies(&#8221;visitor&#8221;).Expires = Date() + 1<br />
adress	= url<br />
datum 	= date()<br />
tid 	= Time()<br />
besok   = 1<br />
SQL = &#8221;Insert Into referer (url,antal) Values(&#8216;&#8221; &amp; adress &amp; &#8221;&#8216;,&#8217;&#8221; &amp; besok &amp; &#8221;&#8216;)&#8221;<br />
Conn.Execute(SQL)<br />
Else<br />
Response.Cookies(&#8221;visitor&#8221;) = &#8221;counted_for&#8221;<br />
Response.Cookies(&#8221;visitor&#8221;).Expires = Date() + 1<br />
besok = RecSet(&#8221;antal&#8221;) + 1<br />
Conn.execute(&#8221;Update referer Set antal=&#8217;&#8221; &amp; besok &amp; &#8221;&#8216;  WHERE url=&#8217;&#8221; &amp; url &amp; &#8221;&#8216;&#8221;)<br />
End If<br />
Else<br />
End If<br />
Else<br />
End If<br />
Else<br />
End If<br />
<em><em>%&gt;</em></em></em></em></p>
<p>Eftersom du kanske inte vill att Google ska vara med och konkurrera med dina länkvänner så säger vi till scriptet att igonrera adresserna Google.se och Google.com. Här kan du givetvis lägga till vilken domän du vill. WordArray gör så att adressen bryts vid andra och tredje slashen. Då återstår endast det fetmarkerade &#8221;http://<strong>www.domän.se</strong>/index.html&#8221;, detta lagras sedan i databasen.</p>
<p>Genom att använda oss av en cookiefil kontrollerar vi så att inte samma besökare räknas flera gånger. Cookien är giltig i ett dygn, därefter räknas besökaren igen om han kommer in på din webbplats. Så länge han har en aktiv cookie får ingen annan webbplats någon poäng för att ha hänvisat honom till din webbplats. Denna cookiefunktion är inte bombsäker för att förhindra fusk, men det kräver mycket jobb för den som vill fuska. (Rensa cookies i webbläsaren inför varje nytt besök till din webbplats)</p>
<p>Koden som visar länkar till de som länkar till dig ser ut så här:</p>
<p align="left"> <em>&lt;%<br />
<em>Set Conn = Server.CreateObject(&#8221;ADODB.Connection&#8221;)<br />
Conn.Open &#8221;Provider=Microsoft.Jet.OLEDB.4.0;Data Source=&#8221; &amp;Server.MapPath(&#8221;db\data.mdb&#8221;)<br />
Set RecSet = Server.CreateObject(&#8221;ADODB.RecordSet&#8221;)<br />
&#8216;SQL = &#8221;SELECT url, MAX(datum) AND MAX(tid) FROM referer GROUP BY url&#8221;<br />
SQL = &#8221;SELECT * FROM referer ORDER BY antal DESC&#8221;<br />
RecSet.Open SQL, Conn<br />
With RecSet<br />
.MoveFirst<br />
End With<br />
x = 0<br />
Do While Not RecSet.EOF And x &lt; 10<br />
overnoll = RecSet(&#8221;antal&#8221;)<br />
If overnoll &gt; 0 Then%&gt;<br />
&lt;p&gt;&lt;a href=&#8221;http://&lt;%=RecSet(&#8221; mce_href=&#8221;http://&lt;%=RecSet(&#8221;url&#8221;)%&gt;&#8221; target=&#8221;_blank&#8221;&gt;&lt;%=RecSet(&#8221;url&#8221;)%&gt;&lt;/a&gt;&lt;/p&gt;<br />
&lt;%Else<br />
End If<br />
</em></em></p>
<p align="left"><em><em>x=x+1<br />
RecSet.MoveNext<br />
Loop<br />
RecSet.Close<br />
Conn.Close<br />
%&gt; </em></em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.wedholm.net/referer-script/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

