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


Varför körs denna kod?

Postades av 2009-11-22 01:16:13 - Peter Sjödin, i forum asp - allmänt, Tråden har 7 Kommentarer och lästs av 1461 personer

Hej.
På en av mina aspsidor finns denna kodsnutt, som inte innehåller särskilt mycket mer än en databaskoppling och en include-rad.
<code>
<%
If Request.Querystring("base") = "all" Then

Dim myConn, strSQL
Set myConn=server.createObject("ADODB.Connection")
myConn.Open("DRIVER={MySQL ODBC 3.51 Driver};Server=xxx.se;Database=xxx;UID=xxx;PWD=xxx;")

strSQL = "Select * from samtalsforum_2009 order by Id desc"
'Set rs = myConn.execute(strSQL)
%>
<!--#INCLUDE FILE="inc_results.asp"-->
<%
End If
%>
</code>

Om följande kodblock finns med i filen får jag error 500, oavsett om querystring("base") innehåller "all", är tomt eller innehåller vad tusan som helst.
Om jag plockar bort kodblocket kan sidan visas.

Mina (i och för sig rätt begränsade) kunskaper säger mig att hela detta block (inklusive include file-raden) ska ignoreras om querystringen är tom. Har jag fel, eller är det nåt annat som är tokigt?

/Peter


Svara

Sv: Varför körs denna kod?

Postades av 2009-11-22 09:02:40 - Johan Djupmarker

Det beror helt och hållet på vad inc_results.asp innehåller, testa att ta bort raden som refererar till den och se vad som händer. Fungerar det då så har du problemet där. Även om det ligger inom en if-sats så kan innehållet i filen ändra på det om den innehåller en end if. När du exekverar din sida kommer innehållet i filen "klistras in" i koden först, sedan körs hela sidan, oavsett om exekveringen går in i if-satsen eller ej. Det är därför koden kan påverka ändå.

/Johan


Svara

Sv:Varför körs denna kod?

Postades av 2009-11-22 11:54:56 - Peter Sjödin

Låter oerhört logiskt. Tack.


Svara

Sv: Varför körs denna kod?

Postades av 2009-11-22 15:15:52 - Peter Sjödin

Fast det finns ingen överbliven End If i den bifogade filen...

Grejen är denna: Jag har flyttat över ett antal filer från en gammal sajt till en ny, bland annat dessa filer. Allt funkade på den gamla sajten, skillnaden är att då körde jag mot en accessdatabas och nu försöker jag köra mot en mysqldatabas i stället. Så det enda jag har ändrat i koden är själva databaskopplingen, inga If- eller End If-satser har ändrats.

Alltså: Det enda som borde kunna fallera är databaskopplingarna, och dessa ligger ju innanför If-satserna. Som fungerade som de skulle innan jag kopierade över dem från den gamla sajten...

Knivigt!

/Peter


Svara

Sv:Varför körs denna kod?

Postades av 2009-11-22 15:54:58 - Peter Sjödin

Jag har också testat att plocka bort include-raden, utan resultat.

Men återigen: om jag lyfter ut hela blocket laddar sidan utan problem.

Summa summarum: Sidan kraschar när jag har med den här snutten som ju borde ignoreras, åtminstone efter att jag plockat bort include-raden.

WTF?

/Peter


Svara

Sv: Varför körs denna kod?

Postades av 2009-11-22 23:05:17 - Johan Djupmarker

Mycket märkligt, stäng av "snälla felmeddelanden" eller vad det nu kan tänkas heta i din webläsare så att du ser det riktiga felmeddelandet. Testa även att ta bort rad för rad för att se vad som orsakar felet.

/Johan


Svara

Sv:Varför körs denna kod?

Postades av 2009-11-23 10:28:46 - Peter Sjödin

Av någon anledning var jag tvungen att be mitt webbhotell att slå på felmeddelanden, men det är gjortnu. Då framkom det att jag helt enkelt deklarerat samma variabel på två ställen, så det var lätt att fixa. Nu funkar allt perfeket.

Det märkliga är att bägge deklarationerna ligger i varsitt villkorsblock, varav antingen inget eller maximalt ett av dem ska köras. Men då har jag alltså lärt mig att variabeldeklarationer inte får göras mer än en gång på en sida, oavsett om koden körs eller inte.

Tack för hjälpen.

/Peter


Svara

Sv: Varför körs denna kod?

Postades av 2009-11-25 18:27:09 - Jonas Sjöblom

Bra att du hittade felet, ett tips när du kör fast utan felmeddelanden att gå efter:
Börja med att sätta en Response.Write("halloj") följt av Response.End() (tror jag det heter) direkt i börjav av sidan. Om du inte ser texten på sidan så är det antagligen ett kopileringsfel. Då är det bästa att ta bort en kodsnutt i taget Tills det börjar fungera. Sen kan du ta bort delar av den tills du identifierat felet.
Om du får fram texten alloj så har du antagligen ett fel i körningen av koden så testa flytta den längre och längre fram tills du inte ser den mera.


Svara

Nyligen

  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo

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 569 615
27 953
271 709
546
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