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!
Annonceindlæg fra Computerworld it-jobbank
08. marts 2001 - 12:36
#1
hvilken feilmelding får du ?
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!
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 ?
08. marts 2001 - 12:40
#4
Det har jeg prøvet og jeg kan sagtens skrive noget ud!
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
08. marts 2001 - 12:42
#6
en link ?
08. marts 2001 - 12:42
#7
Hovsa - det er som om den ikke kan få fat på mit Recordset!
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!
08. marts 2001 - 12:46
#9
eagleeye: Der er kun ASP i denne fil....og response.clear virker ikke....har lige prøvet!
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??
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......
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
08. marts 2001 - 12:52
#13
Hmmm - så vil den godt redirecte!!!! Weird!
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
08. marts 2001 - 12:55
#15
Det hjælpe ikke!!!
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
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).
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
08. marts 2001 - 13:02
#19
Det virker sq heller ikke mere!
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 %>
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
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
08. marts 2001 - 13:09
#23
eagleeye >> det har ingen innvirkning på redirecten
08. marts 2001 - 13:15
#24
nute >>> Nææææ - nu vil den slet ikke udskrive noget inde i mine if-sætninger!
08. marts 2001 - 13:15
#25
Det er som om den ikke får fat på mit recordset inde i if-sætningerne!
08. marts 2001 - 13:16
#26
så er det din ytterste select case som lager problemer... denne: Select Case Request.QueryString(\"action\") /nute
08. marts 2001 - 13:18
#27
Underligt - det har den jo ikke gjort før!
08. marts 2001 - 13:19
#28
sånn er det bare ;)
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!
08. marts 2001 - 13:22
#30
hva sier din Request.QueryString(\"action\")
08. marts 2001 - 13:24
#31
Hvis jeg skriver den ud???
08. marts 2001 - 13:26
#32
jepp
08. marts 2001 - 13:28
#33
Den udskriver \"fil\"!
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
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!
08. marts 2001 - 13:34
#36
aha !!
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!
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.
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!
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.
08. marts 2001 - 14:11
#41
hmau: Det hjælper heller ikke......den vil simpelthen ikke gå ind i mine if-sætninger!
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!
08. marts 2001 - 14:17
#43
my guess: du mixer dine kolonner i din database.... /nute
08. marts 2001 - 14:18
#44
Nej - for det har jo virket før!!!! Også på en Oracle database!!!!
08. marts 2001 - 14:18
#45
Har du prøvet med Select Case forslag fra: Kommentar fra eagleeye 08/03 2001 13:04:16
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 ;)
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!
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!
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...;)
08. marts 2001 - 14:27
#50
nute: Skal nok smide flere point ind i det!
08. marts 2001 - 14:27
#51
Det er ikke et memo felt vel?
08. marts 2001 - 14:28
#52
Nej - det skulle være et almindeligt tekstfelt!
08. marts 2001 - 14:28
#53
eagleeye >> det var det min tanke var....det høres iallefall sånn ut...
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!
08. marts 2001 - 14:32
#55
gider i begge oprette et svar gutter??
08. marts 2001 - 14:33
#56
:) Tak
08. marts 2001 - 14:38
#57
takker ;)
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!
Kurser inden for grundlæggende programmering