josephseto Skrevet 20. september 2008 Del Skrevet 20. september 2008 Jeg har opprettet en variabel som jeg skal benytte inne i en if-test. Problemet er bare at denne variabelen kun eksisterer utenfor if-testen. Hvordan løser jeg dette? Blir superglad for svar! Lenke til kommentar
kaian Skrevet 20. september 2008 Del Skrevet 20. september 2008 Kan du koke ned koden så du får vist fram et eksempel som demonstrerer problemet? Det er ikke umiddelbart klart hva du sliter med. Lenke til kommentar
josephseto Skrevet 20. september 2008 Forfatter Del Skrevet 20. september 2008 Kan du koke ned koden så du får vist fram et eksempel som demonstrerer problemet? Det er ikke umiddelbart klart hva du sliter med. Det er altså variabelen 'cat' under stage2 som ikke eksisterer i if-testen. Hmm... <% option explicit %> <!--#include file="dbconn.asp"--> <% dim cat cat = request.QueryString("pic") if cat="" then cat = "0" %> <html> <head> <title>Beaches around southern Sydney</title> <link href="style1.css" rel="stylesheet" type="text/css"> <script type="text/javascript"> function goBack() { window.history.back() } </script> </head> <body> <div align="center"> <div id="container"> <div id="center"> <div id="head"> <!--#include file="head.asp"--> </div> <div id="inner_center"> <div id="main_spaces_images"> <% dim SQL, info ' 0 1 2 3 4 5 6 7 SQL="select imageID, imageFilename, imagePhotographer, imageDescription, beachNum, beachID, beachName, imageDate "&_ "from imageTable, beachTable "&_ "where beachNum=beachID and imageID="&cat 'response.write SQL&"<br><br>" set info=conn.execute(SQL) if info.eof then response.write "<div id=""box2"">No Data Found</div>" else %> <div id="box2"> <img src="images/<% =info(1) %>" alt="Image loading or missing"><br /> Beach: <% =info(6)%> Photographer: <% =info(2) %> Image taken: <% =info(7) %> Description: <% =info(3) %> </div> <% end if %> <!-- STARTING COMMENTS LIST --> <% dim list_comment_info ' 0 1 2 3 4 5 6 7 SQL="select commentsID, commentsUserName, commentsEmail, commentsText, imageNum, imageID, beachID, beachNum "&_ "from imageTable, commentsTable, beachTable "&_ "where imageNum=imageID and beachNum=beachID and imageNum="&cat 'response.write SQL&"<br><br>" set list_comment_info = conn.execute(SQL) if list_comment_info.eof then 'response.write "No Images Found"&chr(13) else do%> <div id="box2"> #<% =list_comment_info(0)%> By: <% =list_comment_info(1)%> Email: <% =list_comment_info(2) %><br /> Comment: <% =list_comment_info(3) %><br /> </div> <%list_comment_info.movenext loop until list_comment_info.eof end if %> <!-- ENDING COMMENTS LIST --> <!-- STARTING ADD COMMENTS --> <% dim stage stage = request.form("stage") if stage = "" then stage=1 %> <% response.write cat&"<br><br>" '------------------------------------------------------------------ if stage = 1 then '------------------------------------------------------------------ %> <div id="box2"> <form action="images.asp" method="post"> <input type="hidden" name="stage" value="2"> Your Name:<br /> <input type="text" name="new_user_name" size="20"><br /> Email:<br /> <input type="text" name="new_email" size="20"><br /> Comment:<br /> <textarea name="new_comment" id="comment" cols="50" rows="4" tabindex="4"></textarea><br /> <input type="submit" value="Add Comment"> </form> </div> <% '------------------------------------------------------------------ elseif stage = 2 then '------------------------------------------------------------------ response.write chr(13) response.write " <div id=""box2"">"&chr(13) dim user_name, email, comment user_name=Request.Form("new_user_name") email=Request.Form("new_email") comment=Request.Form("new_comment") '--- check to see whether there already is a region of that name... SQL="select commentsID from commentsTable where commentsText='"&comment&"'" set info = conn.execute(SQL) if info.eof then '--- there is no comment of that name at present, so do the insert SQL="INSERT INTO commentsTable (commentsUserName, commentsEmail, commentsText, imageNum) VALUES ('" & user_name & "', '" & email & "', '" & comment & "', '" & cat & "')" conn.execute(SQL) response.write " Insertion completed."&chr(13) else '--- there is already a comment of that name... response.write " Sorry, that comment is already in the database."&chr(13) end if response.write " </div>"&chr(13) response.write cat&"<br><br>" '------------------------------------------------------------------ end if ' stage '------------------------------------------------------------------ response.write cat&"<br><br>" response.write " <br clear=""left""><br>"&chr(13) if stage=2 then response.write chr(13) response.write " <i>di va di</i><br><br>"&chr(13) response.write " <a href=""listcomments.asp"">Show Comments List</a> |" end if %> </div> </div> </div><!-- End box2 div --> <!-- ENDING ADD COMMENTS --> <div id="back_button"> <br> <input type="button" value="Back" onClick="goBack()" /> </div> </div> </div> </body> </html> <% conn.close %> Lenke til kommentar
kaian Skrevet 20. september 2008 Del Skrevet 20. september 2008 koke ned koden Det er altså variabelen 'cat' under stage2 som ikke eksisterer i if-testen. Hmm... altfor mye kode Jeg må løpe nå, men gi neste person som kan se på problemet for deg et bedre utganspunkt ved faktisk å koke ned koden til et eksempel som demonstrerer problemet. Og hva er feilmeldingen egentlig? At variabelen ikke eksisterer, eller at den ikke har verdi? Lenke til kommentar
dialafc Skrevet 17. oktober 2008 Del Skrevet 17. oktober 2008 Merk deg at dersom request.QueryString("pic") ikke eksisterer, så vil det gi tilbake (null), og da vil ikke den neste if-setningen gi noe treff.. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå