Jag använder mig av ett röstningsscript på min blogg, och har fått det att funka kanon. Inte utan att posta om sidan. Jag har fått tipset att först kolla om min url innehåller ett frågetecken, för det lär troligtvis bara vara ett frågetecken, det gör jag i så fall med följande: Problemet är löst.Kapa en del av URL
Det enda som är ett stort bekymmer för mig, är att när någon har kommenterat ett inlägg, så skickas användaren till en temporär sida, för att deras kommentar ska synas direkt.
Detta är inget som jag kan styra över, utan det ligger på plattformen jag bloggar på.
Men, jag tänkte kolla om man på något sätt kan kapa bort den del av URL som man får när man använder Request.ServerVariables("URL") som blir när man kommenterat.
Jag ska se om jag kan förklara lite bättre.
Scriptet jag använder använder Request.ServerVariables("URL") för att fastställa vilket inlägg som man röstat på.
Säg att jag har ett inlägg med adressen: http://www.minblogg.se/inlagg1.asp
Jag lägger en röst på detta inlägget och skickas sen till en adress som ser ut så här istället:
http://www.minblogg.se/inlagg1.asp?_tmp=69a25fac54fe07ae4e96d6cf4ca9ef4a3479dd64
Det gör att scriptet lägger in den temporära adressen som ett eget inlägg, men det är ju faktiskt samma inlägg. Dvs det kan se ut som att rösten jag la på mitt inlägg, inte har räknats med.
Då är min fråga denna:
Kan man ha en if-sats på något sätt, som kollar av om URL innehåller något efter .asp och om det gör det, kan man i så fall ta bort det?
Typ:
if Request.ServerVariables("URL") contains ?_tmp then
remove allt efter .asp
end if
Någon som har en ide? Sv: Kapa en del av URL
If Request.QueryString.Count > 0 Then
Response.Redirect("inlagg1.asp")
End If
Sv: Kapa en del av URL
<code>
If InStr(Request.ServerVariables("URL") ,"?") > 0 then</code>
Sen så fick jag ytterligare tips att använda mig av LEFT och fick en kodrad, men vet inte riktigt hur jag ska använda mig av den.
<code>
strAdress = Left(Request.ServerVariables("URL"), InStr(Request.ServerVariables("URL")))</code>
Kan det vara så enkelt att det ska se ut så här?
<code>
If InStr(Request.ServerVariables("URL") ,"?") > 0 then
strAdress = Left(Request.ServerVariables("URL"), InStr(Request.ServerVariables("URL")))
else
strAdress = Request.ServerVariables("URL")
end if</code>
Någon som har koll på detta, för det är två helt nya kodrader för mig?
Uppdaterat: Nu har jag testat detta, och jag får inga felmeddelanden, men jag blir ändå inte av med koden som är efter frågetecknet.Sv:Kapa en del av URL
Jag började ögna genom koden för scriptet och hittade följande rader:
<code>'--- Appened querystring if required
sQueryString = Request.ServerVariables("QUERY_STRING")
if len(sQueryString) > 0 then
sRatingURL = sRatingURL & "?" & sQueryString
end if</code>
När jag kommenterade bort dessa, så löste allt sig.