Avatar billede webbe Nybegynder
08. marts 2001 - 12:32 Der er 56 kommentarer og
2 løsninger

Redirecter ikke!

Hejsa!

Jeg har været ved at rette i en fil der skal redirecte alt efter hvad der er valgt på den foregående side.

Det der er sket er, at jeg har tilføjet nogle if/then statements og pludselig virker det ikke. Det virkede okay da der kun var de to første.

Alle de filer der skal redirectes til er oprettet med det indhold de skal have.

Mit script ser sådan ud:

<%
Select Case Request.QueryString(\"action\")

Case \"fil\"

Dim Connect, rs_land

Set Connect = Server.CreateObject(\"ADODB.Connection\")
Connect.Open \"sb_budget\", \"scanbox_admin\", \"scanboxadm\"

Set rs_land = Server.CreateObject(\"ADODB.Recordset\")
rs_land.Open \"SELECT * FROM Start_tabel WHERE ROWNUM = 1 ORDER BY Id DESC\", Connect, 1, 3

If rs_land(\"Medie\") = \"Leje\" Then
    Response.Redirect(\"maanedsrapport.asp\")
End if

If rs_land(\"Medie\") = \"Køb\" Then
    Response.Redirect(\"maanedsrapport_koeb.asp\")
End if

If rs_land(\"Medie\") = \"Musik\" Then
    Response.Redirect(\"maanedsrapport_musik.asp\")
End if

If rs_land(\"Medie\") = \"Bio\" Then
    Response.Redirect(\"maanedsrapport_bio.asp\")
End if

If rs_land(\"Medie\") = \"TV\" Then
    Response.Redirect(\"maanedsrapport_tv.asp\")
End if

If rs_land(\"Medie\") = \"Andet\" Then
    Response.Redirect(\"maanedsrapport_andet.asp\")
End if

End select
%>

Hvad er der galt???
Min connection fungerer fint og der kan fint hentes fra tabellen (har prøvet response.write), men den vil ikke redirecte!
Avatar billede nute Nybegynder
08. marts 2001 - 12:36 #1
hvilken feilmelding får du ?
Avatar billede webbe Nybegynder
08. marts 2001 - 12:37 #2
Ingen!!!!!

Det er det der er det underlige!

Den stopper bare i den fil der skal redirecte til de andre filer!
Avatar billede nute Nybegynder
08. marts 2001 - 12:40 #3
har du prøvet å skrive ut noe i dine if clauses ?? for å se om du faktisk kommer inn i en av dem ?
Avatar billede webbe Nybegynder
08. marts 2001 - 12:40 #4
Det har jeg prøvet og jeg kan sagtens skrive noget ud!
Avatar billede eagleeye Praktikant
08. marts 2001 - 12:41 #5
Har du <HMTL> i toppen af filen så prøv:
Response.Clear 
inden du kalder redirect.

eks.vis:
rs_land.Open \"SELECT * FROM Start_tabel WHERE ROWNUM = 1 ORDER BY Id DESC\", Connect, 1, 3
Response.Clear
Avatar billede nute Nybegynder
08. marts 2001 - 12:42 #6
en link ?
Avatar billede webbe Nybegynder
08. marts 2001 - 12:42 #7
Hovsa - det er som om den ikke kan få fat på mit Recordset!
Avatar billede webbe Nybegynder
08. marts 2001 - 12:44 #8
Jeg kan godt udskrive poster fra min tabel uden for mine if-sætninger, men ikke inde i mine if-sætninger!
Avatar billede webbe Nybegynder
08. marts 2001 - 12:46 #9
eagleeye:

Der er kun ASP i denne fil....og response.clear virker ikke....har lige prøvet!
Avatar billede eagleeye Praktikant
08. marts 2001 - 12:47 #10
Hvad udskriver den når du udskriver rs_land(\"Medie\") ??
Leje
Køb
Musik
Bio
TV

Med store og små bogstaver de rigtge steder??
Avatar billede webbe Nybegynder
08. marts 2001 - 12:48 #11
eagleeye:

Den udskriver intet hvis jeg gør det inde i mine if-sætninger, men uden for if-sætningerne udkriver den det den skal....altså Leje, Køb m.m......
Avatar billede eagleeye Praktikant
08. marts 2001 - 12:50 #12
Har du prøvet med en redirect uden for if sætningerne, for at se om redirect virker?

If rs_land(\"Medie\") = \"Andet\" Then
    Response.Redirect(\"maanedsrapport_andet.asp\")
End if

Response.Redirect(\"en_side.asp\")

End select
Avatar billede webbe Nybegynder
08. marts 2001 - 12:52 #13
Hmmm - så vil den godt redirecte!!!!

Weird!
Avatar billede eagleeye Praktikant
08. marts 2001 - 12:52 #14
Prøv at putte CStr omkring.

If Cstr(rs_land(\"Medie\")) = Cstr(\"Leje\") Then
    Response.Redirect(\"maanedsrapport.asp\")
End if

Avatar billede webbe Nybegynder
08. marts 2001 - 12:55 #15
Det hjælpe ikke!!!
Avatar billede nute Nybegynder
08. marts 2001 - 12:57 #16
hvis du sier at den kommer inn i dine if clauses, men den ikke redirecter, så er dette relativt merkelig.....det er ikke logisk at en redirect skal fungere utenfor en if clause...

/nute
Avatar billede webbe Nybegynder
08. marts 2001 - 12:58 #17
nute:

Er jo også det jeg ikke helt forstår - for det virkede jo godt nok da jeg kun havde 2 if-sætninger (Leje og Køb).
Avatar billede nute Nybegynder
08. marts 2001 - 13:01 #18
så hvis du fjerner \'Musik*, \'Bio\' og \'TV\' så fungerer det ?

fjern dem, og legg dem til en og en, så kan du sikkert finne ut av hvor det går galt....

(( selv om det er en merkelig måte å debugge på ;) ))

/nute
Avatar billede webbe Nybegynder
08. marts 2001 - 13:02 #19
Det virker sq heller ikke mere!
Avatar billede eagleeye Praktikant
08. marts 2001 - 13:04 #20
Har du overvejet en select case istedet for If\'er

<%
Select Case Request.QueryString(\"action\")

Case \"fil\"

Dim Connect, rs_land, direct_to

Set Connect = Server.CreateObject(\"ADODB.Connection\")
Connect.Open \"sb_budget\", \"scanbox_admin\", \"scanboxadm\"

Set rs_land = Server.CreateObject(\"ADODB.Recordset\")
rs_land.Open \"SELECT * FROM Start_tabel WHERE ROWNUM = 1 ORDER BY Id DESC\", Connect, 1, 3

direct_to = rs_land(\"Medie\")
rs_land.Close

Select Case direct_to

Case \"Leje\"
  Response.Redirect(\"maanedsrapport.asp\")

Case \"Køb\"
  Response.Redirect(\"maanedsrapport_koeb.asp\")

Case \"Musik\"
  Response.Redirect(\"maanedsrapport_musik.asp\")

Case \"Bio\"
  Response.Redirect(\"maanedsrapport_bio.asp\")

Case \"TV\"
  Response.Redirect(\"maanedsrapport_tv.asp\")

Case \"Andet\"
  Response.Redirect(\"maanedsrapport_andet.asp\")
End select

End select
%>
Avatar billede nute Nybegynder
08. marts 2001 - 13:04 #21
dette fungerer ?
<%
Select Case Request.QueryString(\"action\")

Case \"fil\"

Dim Connect, rs_land

Set Connect = Server.CreateObject(\"ADODB.Connection\")
Connect.Open \"sb_budget\", \"scanbox_admin\", \"scanboxadm\"

Set rs_land = Server.CreateObject(\"ADODB.Recordset\")
rs_land.Open \"SELECT * FROM Start_tabel WHERE ROWNUM = 1 ORDER BY Id DESC\", Connect, 1, 3

If rs_land(\"Medie\") = \"Leje\" Then
    Response.write \"HELLO!\"
End if 

%>

/nute
Avatar billede eagleeye Praktikant
08. marts 2001 - 13:08 #22
der skal måske også en connect.close ind

direct_to = rs_land(\"Medie\")
rs_land.Close
Connect.Close
set rs_land = nothing
set connect = nothing
Avatar billede nute Nybegynder
08. marts 2001 - 13:09 #23
eagleeye >> det har ingen innvirkning på redirecten
Avatar billede webbe Nybegynder
08. marts 2001 - 13:15 #24
nute >>>

Nææææ - nu vil den slet ikke udskrive noget inde i mine if-sætninger!
Avatar billede webbe Nybegynder
08. marts 2001 - 13:15 #25
Det er som om den ikke får fat på mit recordset inde i if-sætningerne!
Avatar billede nute Nybegynder
08. marts 2001 - 13:16 #26
så er det din ytterste select case som lager problemer...

denne:

Select Case Request.QueryString(\"action\")

/nute
Avatar billede webbe Nybegynder
08. marts 2001 - 13:18 #27
Underligt - det har den jo ikke gjort før!
Avatar billede nute Nybegynder
08. marts 2001 - 13:19 #28
sånn er det bare ;)
Avatar billede webbe Nybegynder
08. marts 2001 - 13:20 #29
Det kan sq da ikke passe at bare fordi jeg tilføjer nogle if-sætninger at der så går ged i min Select Case Request.QueryString(\"action\") - det er der jo ikke nogen logik i!
Avatar billede nute Nybegynder
08. marts 2001 - 13:22 #30
hva sier din

Request.QueryString(\"action\")

Avatar billede webbe Nybegynder
08. marts 2001 - 13:24 #31
Hvis jeg skriver den ud???
Avatar billede nute Nybegynder
08. marts 2001 - 13:26 #32
jepp
Avatar billede webbe Nybegynder
08. marts 2001 - 13:28 #33
Den udskriver \"fil\"!
Avatar billede nute Nybegynder
08. marts 2001 - 13:30 #34
og hva skjer hvis du skriver:

<%
Select Case Request.QueryString(\"action\")

Case \"fil\"
  response.write \"HURRA!\"

End Select

%>

jeg synes jo nok at din Connect.Open ser litt merkelig ut...

Connect.Open \"sb_budget\", \"scanbox_admin\", \"scanboxadm\"


er dette bare noe du har postet for å vise at du har en Connection, eller er det den du bruker i ditt script ?

/nute
Avatar billede webbe Nybegynder
08. marts 2001 - 13:32 #35
Så udskriver den HURRA!!!!

Grunden til at min connection ser sådan ud er at det er en Oracle database der ligger bag og den er beskyttet med brugernavn og password!
Avatar billede nute Nybegynder
08. marts 2001 - 13:34 #36
aha !!
Avatar billede webbe Nybegynder
08. marts 2001 - 13:35 #37
Så det har ikke noget med min connection at gøre for jeg kan godt udskrive poster fra tabellen UDEN for mine if-sætninger!
Avatar billede m_dam Nybegynder
08. marts 2001 - 13:35 #38
Du skal bruge \"Response.Buffer = True\" inden du redirecter.
Det gør at den buffer html siden inden sender den til browseren.
Avatar billede webbe Nybegynder
08. marts 2001 - 13:37 #39
m_dam:

Det hjælper heller ikke!!!!!

Den går simpelthen i står når den når til mine if-sætninger!
Avatar billede hmau Nybegynder
08. marts 2001 - 13:58 #40
prøv med

If lcase(trim(rs_land(\"Medie\"))) = \"leje\" Then
    Response.Redirect(\"maanedsrapport.asp\")
End if

nogle databaser fylder ud med spaces indtil maxlength er nået.
Avatar billede webbe Nybegynder
08. marts 2001 - 14:11 #41
hmau:

Det hjælper heller ikke......den vil simpelthen ikke gå ind i mine if-sætninger!
Avatar billede webbe Nybegynder
08. marts 2001 - 14:16 #42
Hvis jeg bruger fx. land i stedet for medie (rs_land(\"Land\") i stedet for rs_land(\"Medie\")) kan den godt redirecte i mine if-sætninger!!!!!

Men hvis jeg bruger rs_land(\"Medie\") uden for if-sætningerne kan jeg godt redirecte på medie!
Avatar billede nute Nybegynder
08. marts 2001 - 14:17 #43
my guess:

du mixer dine kolonner i din database....

/nute
Avatar billede webbe Nybegynder
08. marts 2001 - 14:18 #44
Nej - for det har jo virket før!!!!
Også på en Oracle database!!!!
Avatar billede eagleeye Praktikant
08. marts 2001 - 14:18 #45
Har du prøvet med Select Case forslag fra: Kommentar fra eagleeye 08/03 2001 13:04:16 
Avatar billede nute Nybegynder
08. marts 2001 - 14:19 #46
ting stopper ikke bare å virke uten en grunn....belive me...jeg har arbeidet i denne bransjen lenge nok til å vite det ;)
Avatar billede webbe Nybegynder
08. marts 2001 - 14:23 #47
nute:

Det samme her.....men selv du må indrømme, at det at tilføje if-sætninger ikke burde fucke det hele op!
Avatar billede webbe Nybegynder
08. marts 2001 - 14:24 #48
eagleeye:

Ja - men uden held!

Det er også underligt, at jeg kan redirecte ved at bruge et andet felt end Medie!!!!

Det er som om den tror, at feltet Medie er tomt, men når jeg tjekker min database er feltet medie IKKE tomt!
Avatar billede nute Nybegynder
08. marts 2001 - 14:26 #49
prøv å legg rs_land(\"Medie\")  inn i en variabel og utfør dine if-ting på den variabelen...

/nute

PS! dette begynner å overstige de 15 points du har opprettet...;)
Avatar billede webbe Nybegynder
08. marts 2001 - 14:27 #50
nute:

Skal nok smide flere point ind i det!
Avatar billede eagleeye Praktikant
08. marts 2001 - 14:27 #51
Det er ikke et memo felt vel?
Avatar billede webbe Nybegynder
08. marts 2001 - 14:28 #52
Nej - det skulle være et almindeligt tekstfelt!
Avatar billede nute Nybegynder
08. marts 2001 - 14:28 #53
eagleeye >> det var det min tanke var....det høres iallefall sånn ut...
Avatar billede webbe Nybegynder
08. marts 2001 - 14:32 #54
Løsningen er fundet!!!!!

Det hjalp at sætte rs_land(\"Medie\") ind i en variabel og bruge den i stedet for.

Pointene bliver delt mellen nute (30) og eagleeye (20), da I begge har hjulpet meget!
Avatar billede webbe Nybegynder
08. marts 2001 - 14:32 #55
gider i begge oprette et svar gutter??
Avatar billede eagleeye Praktikant
08. marts 2001 - 14:33 #56
:) Tak
Avatar billede nute Nybegynder
08. marts 2001 - 14:38 #57
takker  ;)
Avatar billede webbe Nybegynder
08. marts 2001 - 14:39 #58
Er sq mig der takker drenge!

Uden jeres hjælp havde jeg sikkert siddet med det her hele weekenden!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester