469,270 Members | 1,778 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 469,270 developers. It's quick & easy.

tutorial help

Referring to this page:
http://msconline.maconstate.edu/tuto...3/asp03-06.asp

The "logon.asp" file writes "Incorrect Password" to Message.

Later, in the html body, the tutorial tries to access this string using
<%=Msg%>

Questions about this:

Q1. Doesn't Message have to be declared?

Q2. How and where should Message be declared so that it is guaranteed to be
available later in the html?

Q3. Is <%=Msg%a typo? Msg is not the same as Message, is it? Shouldn't it
be <%=Message%>?

Q4. If I want to look up the syntax of writing ASP, what language would I
look under? Is it equivalent to VB6?

Thanks,
~Joe
Aug 7 '07 #1
3 1426
jp2code wrote:
Referring to this page:
http://msconline.maconstate.edu/tuto...3/asp03-06.asp

The "logon.asp" file writes "Incorrect Password" to Message.

Later, in the html body, the tutorial tries to access this string
using <%=Msg%>

Questions about this:

Q1. Doesn't Message have to be declared?
Variables only have to be declared if the Option Explicit directive
appears at the beginning of the script.
>
Q2. How and where should Message be declared so that it is guaranteed
to be available later in the html?
Message is a server-side variable. It will never be available to the
html. Server-side code generates html - that's pretty much all it does.
Once the html is sent to the client, the server-side code, including
variables, is out of of the picture.

The only way to pass the value of a server-side variable to the html is
to write it to Response, as this code does. If you have client-side code
and you want to have a client-side variable that contains the value of
the server-side variable, again, the value needs to be written to
Response, like this:

<html>
<script type="text/javascript">
var Message="<%=Message%>"
alert(Message)
</script>

In vbscript, variables can be declared anywhere in the script block.
When compiled, the variable declarations are "hoisted" to the beginning
of the script block.
Experienced developers tend to declare their variables at the beginning
of the script.
>
Q3. Is <%=Msg%a typo? Msg is not the same as Message, is it?
Shouldn't it be <%=Message%>?
Yes, it's a typo. Without Option Explicit, you will not get an error:
just nothing written into the html.
>
Q4. If I want to look up the syntax of writing ASP, what language
would I look under? Is it equivalent to VB6?
ASP is not a language. It is a "platform" that allows the use of several
scripting languages. Most examples are written in vbscript, but there
are those who swear by using javascript.

http://msdn2.microsoft.com/en-us/library/ms675532.aspx

http://www.microsoft.com/downloads/d...DisplayLang=en

--
Microsoft MVP -- ASP/ASP.NET
Please reply to the newsgroup. The email account listed in my From
header is my spam trap, so I don't check it very often. You will get a
quicker response by posting to the newsgroup.
Aug 7 '07 #2
"jp2code" wrote:
Q1. Doesn't Message have to be declared?
Not unless [Option Explicit] is declared:
http://msdn2.microsoft.com/en-us/library/bw9t3484.aspx
Q2. How and where should Message be declared so that it is
guaranteed to be available later in the html?
Oddly enough, your variables can be declared anywhere in the script that has
the same scope. You can even declare them after you use them.
http://blogs.msdn.com/ericlippert/ar...18/159378.aspx

Q3. Is <%=Msg%a typo? Msg is not the same as Message, is it?
Shouldn't it be <%=Message%>?
Your understanding of the problem is correct.

Q4. If I want to look up the syntax of writing ASP, what language
would I look under? Is it equivalent to VB6?
ASP can be written in any number of languages. By default, IIS supports
JScript and VBScript.

JScript: http://msdn2.microsoft.com/en-us/library/yek4tbz0.aspx
vbscript: http://msdn2.microsoft.com/en-us/library/d1wf56tt.aspx
ASP: http://msdn2.microsoft.com/en-us/library/ms524716.aspx
--
Dave Anderson

Unsolicited commercial email will be read at a cost of $500 per message. Use
of this email address implies consent to these terms.

Aug 7 '07 #3
jp2code wrote on 07 aug 2007 in microsoft.public.inetserver.asp.general:
Referring to this page:
http://msconline.maconstate.edu/tuto...3/asp03-06.asp

The "logon.asp" file writes "Incorrect Password" to Message.

Later, in the html body, the tutorial tries to access this string
using <%=Msg%>

Questions about this:

Q1. Doesn't Message have to be declared?

Q2. How and where should Message be declared so that it is guaranteed
to be available later in the html?

Q3. Is <%=Msg%a typo? Msg is not the same as Message, is it?
Shouldn't it be <%=Message%>?

Q4. If I want to look up the syntax of writing ASP, what language
would I look under? Is it equivalent to VB6?
You are completely right. The code is terrible:
================================================== ===
<%
If Request.Form("SubmitButton") = "Submit" Then

If Request.Form("Password") = "xyzzy" Then
So there is no test if "Account" is correct
Response.Redirect("welcome.asp")
Else
The else is nonsense, since the redirect has already taken away the other
possibility
Message = "Incorrect Password"
Should be Msg = ...
Also: the first pass the variable msg is undeclared!!!!
End If

End If
%>
[..]
<span style="color:red"<%=Msg%</span>
The spaces around the <%%are useless, methinks.

================================================== =====

I would suggest this:

===================================
<% ' vbscript [in examples always name the asp language used]

Option Explicit ' if you are inclined to such things
Dim Msg ' if you are inclined to such things

If Request.Form("Account") = "myName" AND_
Request.Form("Password") = "xyzzy" Then
Response.Redirect("welcome.asp")
End If

Msg = ""
If Request.Form("SubmitButton") = "Submit" Then
Msg = "<span style='color:red;'>Incorrect Password</span><br>"
End If

%>

<html>
<body>
<h3>Logon Page</h3>

<form action="logon.asp" method="post">
Account: <input type="text" name="Account" size="10">
<br>Password: <input type="password" name="Password" size="10">
<br><%=Msg%><input type="submit" name="SubmitButton" value="Submit">
</form>

</body>
</html>
===================================


--
Evertjan.
The Netherlands.
(Please change the x'es to dots in my emailaddress)
Aug 7 '07 #4

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

1 post views Thread by Earth | last post: by
3 posts views Thread by Adolfo | last post: by
33 posts views Thread by Xah Lee | last post: by
15 posts views Thread by JS | last post: by
4 posts views Thread by Bob hotmail.com> | last post: by
11 posts views Thread by Magnus Lycka | last post: by
9 posts views Thread by julie.siebel | last post: by
31 posts views Thread by Antoon Pardon | last post: by
1 post views Thread by CARIGAR | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.