Wrox Programmer Forums

Need to download code?

View our list of code downloads.

| FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read
Classic ASP XML Using ASP 3 and XML. See also the XML category for more XML discussions not relating to ASP. NOT for ASP.NET 1.0, 1.1, or 2.0
Welcome to the p2p.wrox.com Forums.

You are currently viewing the Classic ASP XML section of the Wrox Programmer to Programmer discussions. This is a community of tens of thousands of software programmers and website developers including Wrox book authors and readers. As a guest, you can read any forum posting. By joining today you can post your own programming questions, respond to other developers’ questions, and eliminate the ads that are displayed to guests. Registration is fast, simple and absolutely free .
DRM-free e-books 300x50
Reply
 
Thread Tools Search this Thread Display Modes
  #11 (permalink)  
Old November 18th, 2003, 02:57 AM
Authorized User
 
Join Date: Nov 2003
Location: , , .
Posts: 20
Thanks: 0
Thanked 0 Times in 0 Posts
Default

If Request.Cookies("username") <> "" Then
    'Execute login validation here using values from cookies
    'Get values from cookies
    sUsername = Request.Cookies("username")
    sPassword = Request.Cookies("password")
    'call doLogin to validate login,
    'returns true for valid login
    If doLogin(sUsername, sPassword) Then
        Response.Redirect("index.asp")
    End If
End If


is that what you are talking about doLogin(), i dont knowwhere to put it, its jst on the login page the now?




Reply With Quote
  #12 (permalink)  
Old November 18th, 2003, 01:12 PM
planoie's Avatar
Friend of Wrox
Points: 16,481, Level: 55
Points: 16,481, Level: 55 Points: 16,481, Level: 55 Points: 16,481, Level: 55
Activity: 0%
Activity: 0% Activity: 0% Activity: 0%
 
Join Date: Aug 2003
Location: Clifton Park, New York, USA.
Posts: 5,407
Thanks: 0
Thanked 16 Times in 16 Posts
Default

I was suggesting creating a login function because you need to do this login routing in two places: once where you handle processing the user login (processuser.asp) and once on your index page where you try to do a auto login based on the cookie values. there's no reason to duplicate the login routine on both page when you can just create a function for it and call the function from both places.

Maybe this will help. I made a small adjustment to your XPath query based on what I'm assuming your XML structure to be.
If this is what your XML structure looks like
<records>
    <details>
        <username>username1</username>
        <password>password1</password>
    </details>
    <details>
        <username>username2</username>
        <password>password2</password>
    </details>
</records>
than this should work for you:

File: login.inc

<%
Function doLogin(sUserName, sPassword)
    Dim xmlDocument, path, nodes
    set xmlDocument = CreateObject("MSXML2.FreeThreadedDOMDocument")
    xmlDocument.async = "false"
    xmlDocument.load(Server.MapPath("/speirsy/db/user.xml"))
    xmlDocument.setProperty "SelectionLanguage", "XPath"

    path = "/records/details[username='" & sUserName & "' and password='" & sPassword & "']"
    set nodes = xmlDocument.selectNodes(path)

    If nodes.length > 0 Then
        'User found!
        Response.Cookies("username") = sUsername
        Response.Cookies("password") = sPassword
        Response.Redirect "log.asp"
    Else
        'No user found :-(
        doLogin = False
    End If
End Function
%>

File: index.asp

<%
If Request.Cookies("username") <> "" Then
    'Execute login validation here using values from cookies
    'Get values from cookies
    sUsername = Request.Cookies("username")
    sPassword = Request.Cookies("password")
    'call doLogin to validate login,
    'returns true for valid login
    doLogin(sUsername, sPassword)
    'doLogin will redirect you automatically if login succeeds
End If
%>
[rest of the page here: show login form]

File: processuser.asp


<%
doLogin(Request.Form("userQuery"), Request.Form("passwordEntry"))
'doLogin will redirect automatically, so if it fails, this page will be seen
%>
please enter a valid password</br></br>
<a href='index.asp'>Back to login page</a>


Hope this helps.

Peter
------------------------------------------------------
Work smarter, not harder.
Reply With Quote
  #13 (permalink)  
Old November 18th, 2003, 06:18 PM
Authorized User
 
Join Date: Nov 2003
Location: , , .
Posts: 20
Thanks: 0
Thanked 0 Times in 0 Posts
Default

mate wot does




mean?

sorry



Reply With Quote
  #14 (permalink)  
Old November 18th, 2003, 06:28 PM
planoie's Avatar
Friend of Wrox
Points: 16,481, Level: 55
Points: 16,481, Level: 55 Points: 16,481, Level: 55 Points: 16,481, Level: 55
Activity: 0%
Activity: 0% Activity: 0% Activity: 0%
 
Join Date: Aug 2003
Location: Clifton Park, New York, USA.
Posts: 5,407
Thanks: 0
Thanked 16 Times in 16 Posts
Default

That is how you include a file in an ASP script. Commonly used for including files with common code into a script.

Peter
------------------------------------------------------
Work smarter, not harder.
Reply With Quote
  #15 (permalink)  
Old November 18th, 2003, 06:28 PM
Authorized User
 
Join Date: Nov 2003
Location: , , .
Posts: 20
Thanks: 0
Thanked 0 Times in 0 Posts
Default

my code for index asp is


<%@ Language="VBScript" %>
<% option explicit %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<?xml version="1.0" encoding="iso-8859-1"?>

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">


<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>: . Welcome to dezine . :</title>


<%
Function doLogin(sUserName, sPassword)
    Dim xmlDocument, path, nodes
    set xmlDocument = CreateObject("MSXML2.FreeThreadedDOMDocument")
    xmlDocument.async = "false"
    xmlDocument.load(Server.MapPath("/speirsy/db/user.xml"))
    xmlDocument.setProperty "SelectionLanguage", "XPath"

    path = "/records/details[username='" & sUserName & "' and password='" & sPassword & "']"
    set nodes = xmlDocument.selectNodes(path)

    If nodes.length > 0 Then
        'User found!
        Response.Cookies("username") = sUsername
        Response.Cookies("password") = sPassword
        Response.Redirect "log.asp"
    Else
        'No user found :-(
        doLogin = False
    End If
End Function
If Request.Cookies("username") <> "" Then
    'Execute login validation here using values from cookies
    'Get values from cookies
    sUsername = Request.Cookies("username")
    sPassword = Request.Cookies("password")
    'call doLogin to validate login,
    'returns true for valid login
    doLogin(sUsername, sPassword)
    'doLogin will redirect you automatically if login succeeds
End If
%>



<script type="text/javascript">
function validate() {

if (document.form1.userQuery.value.length < 1) {
document.form1.userQuery.focus();

window.alert("Please enter a Username.");
return false;
}
if (document.form1.passwordEntry.value.length < 1) {
document.form1.passwordEntry.focus();
window.alert("Please enter a password.");
return false;
 }
}

</script>
</head>

<body>

<p> Welcome to dezine, a portal site where you can search for tutorials and also reviews of the latest products that multimedia and web designers use today</p>
<p> In order to use the site, please enter your details and then press the submit button</p>


<table align="center">
<form name=form1 method="POST" action="user.asp" method="post" onsubmit="return validate()">

<tr>
   <td>Username:</td>
   <td><input type="text" name="userQuery" /></td>
</tr>
<tr>
   <td>Password:</td>
   <td><input type="password" name="passwordEntry" /></td>
</tr>

<tr>
<td align="center" colspan="2"><input type="submit" value="Login" /></td>

</tr>
</form>
</table>


<br />
<table align="center">
<tr>
<td> <a href="signup.html">Join</a></td>
</tr>
<tr>
<td> <a href="javascript: submitReminder();">Lost password</a></td>
</tr>

</table>


<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p><p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p><p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Copyright 2003 Craig Speirs</p>

</body>
</html>



and is not working

the error that appears is Active Server Pages error 'ASP 0126'

Include file not found

/speirsy/web_coursework/index.asp, line 13

The include file 'login.inc' was not found.



is login.inc to be saved ina separate file ? like login.inc contains all that code u gave me, also is that the only code i need for process.asp?


thanks again sir


craig





Reply With Quote
  #16 (permalink)  
Old November 18th, 2003, 06:32 PM
planoie's Avatar
Friend of Wrox
Points: 16,481, Level: 55
Points: 16,481, Level: 55 Points: 16,481, Level: 55 Points: 16,481, Level: 55
Activity: 0%
Activity: 0% Activity: 0% Activity: 0%
 
Join Date: Aug 2003
Location: Clifton Park, New York, USA.
Posts: 5,407
Thanks: 0
Thanked 16 Times in 16 Posts
Default

That is pretty much all you need for process ASP. If the login succeeds it redirects to the next page. If it fails you show the error with the link back to the index (login) page. You probably should format it nicely in a full set of html tags and all, I just wanted to show you what you had to do.

Yes, you need to create a new file: login.inc. This is the file that the other two files "include". Your doLogin() function needs to live in that file so that both the processuser.asp and index.asp pages can access that function.

Peter
------------------------------------------------------
Work smarter, not harder.
Reply With Quote
  #17 (permalink)  
Old November 18th, 2003, 06:51 PM
Authorized User
 
Join Date: Nov 2003
Location: , , .
Posts: 20
Thanks: 0
Thanked 0 Times in 0 Posts
Default

still problems

my index.asp includes the code



<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>: . Welcome to dezine . :</title>


<%
If Request.Cookies("username") <> "" Then
    'Execute login validation here using values from cookies
    'Get values from cookies
    sUsername = Request.Cookies("username")
    sPassword = Request.Cookies("password")
    'call doLogin to validate login,
    'returns true for valid login
    doLogin sUsername, sPassword
    'doLogin will redirect you automatically if login succeeds
End If
%>

<script type="text/javascript



but an error appears asking Microsoft VBScript compilation error '800a03f6'

Expected 'End'

/speirsy/web_coursework/index.asp, line 24


i enter an end then it asks for an end if
neverending i tellu

my login.inc is


<%
Function doLogin(sUserName, sPassword)
    Dim xmlDocument, path, nodes
    set xmlDocument = CreateObject("MSXML2.FreeThreadedDOMDocument")
    xmlDocument.async = "false"
    xmlDocument.load(Server.MapPath("/speirsy/db/user.xml"))
    xmlDocument.setProperty "SelectionLanguage", "XPath"

    path = "/records/details[username='" & sUserName & "' and password='" & sPassword & "']"
    set nodes = xmlDocument.selectNodes(path)

    If nodes.length > 0 Then
        'User found!
        Response.Cookies("username") = sUsername
        Response.Cookies("password") = sPassword
        Response.cookies("username").Expires=date+9999
        Response.cookies("password").Expires=date+9999

%>

        Response.Redirect "log.asp"
    Else
        'No user found :-(
        doLogin = False
    End If
End Function
%>


and my user.asp ( name has been changed from process.asp) is


<%@ Language="VBScript" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<?xml version="1.0" encoding="iso-8859-1"?>

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title></title>


<%
doLogin Request.Form("userQuery"), Request.Form("passwordEntry")
'doLogin will redirect automatically, so if it fails, this page will be seen
%>
please enter a valid password</br></br>
<a href='index.asp'>Back to login page</a
</body>
</html>



Reply With Quote
  #18 (permalink)  
Old November 18th, 2003, 07:28 PM
planoie's Avatar
Friend of Wrox
Points: 16,481, Level: 55
Points: 16,481, Level: 55 Points: 16,481, Level: 55 Points: 16,481, Level: 55
Activity: 0%
Activity: 0% Activity: 0% Activity: 0%
 
Join Date: Aug 2003
Location: Clifton Park, New York, USA.
Posts: 5,407
Thanks: 0
Thanked 16 Times in 16 Posts
Default

What's the %> doing in the middle of the include file?

Peter
------------------------------------------------------
Work smarter, not harder.
Reply With Quote
  #19 (permalink)  
Old November 19th, 2003, 07:25 AM
Authorized User
 
Join Date: Nov 2003
Location: , , .
Posts: 20
Thanks: 0
Thanked 0 Times in 0 Posts
Default

oh aye :D

i have took it out, still doesnt rmbr u have logged in tho??


http://www32.brinkster.com/speirsy/web_coursework/



Reply With Quote
  #20 (permalink)  
Old November 19th, 2003, 07:36 AM
Authorized User
 
Join Date: Nov 2003
Location: , , .
Posts: 20
Thanks: 0
Thanked 0 Times in 0 Posts
Default

now its sayin

Microsoft VBScript runtime error '800a01f4'

Variable is undefined: 'sUserName'

/speirsy/web_coursework/index.asp, line 17

my code for index.asp is

<%@ Language="VBScript" %>
<% option explicit %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<?xml version="1.0" encoding="iso-8859-1"?>

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">


<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>: . Welcome to dezine . :</title>

<%
If Request.Cookies("username") <> "" Then
    'Execute login validation here using values from cookies
    'Get values from cookies
    sUsername = Request.Cookies("username")
    sPassword = Request.Cookies("password")
    'call doLogin to validate login,
    'returns true for valid login
    doLogin sUsername, sPassword
    'doLogin will redirect you automatically if login succeeds
End If
%>


<script type="text/javascript">
function validate() {

if (document.form1.userQuery.value.length < 1) {
document.form1.userQuery.focus();

window.alert("Please enter a Username.");
return false;
}
if (document.form1.passwordEntry.value.length < 1) {
document.form1.passwordEntry.focus();
window.alert("Please enter a password.");
return false;
 }
}

</script>
</head>

<body>

<p> Welcome to dezine, a portal site where you can search for tutorials and also reviews of the latest products that multimedia and web designers use today</p>
<p> In order to use the site, please enter your details and then press the submit button</p>


<table align="center">
<form name=form1 method="POST" action="user.asp" method="post" onsubmit="return validate()">

<tr>
   <td>Username:</td>
   <td><input type="text" name="userQuery" /></td>
</tr>
<tr>
   <td>Password:</td>
   <td><input type="password" name="passwordEntry" /></td>
</tr>

<tr>
<td align="center" colspan="2"><input type="submit" value="Login" /></td>

</tr>
</form>
</table>


<br />
<table align="center">
<tr>
<td> <a href="signup.html">Join</a></td>
</tr>
<tr>
<td> <a href="javascript: submitReminder();">Lost password</a></td>
</tr>

</table>


<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p><p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p><p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Copyright 2003 Craig Speirs</p>

</body>
</html>
 my code for login.inc is same as ures and likewise for process.asp


thanks

Reply With Quote
Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Session/Cookie Expires, Login page appears rajn ASP.NET 1.0 and 1.1 Professional 3 June 27th, 2007 06:19 AM
login page. cookie handling. richie86 ASP.NET 1.0 and 1.1 Basics 1 November 27th, 2005 05:13 AM
How to write a cookie during a login session taoree ASP.NET 1.0 and 1.1 Basics 3 April 18th, 2004 02:40 PM
login cookie help daddycool2k ASP.NET 1.0 and 1.1 Basics 0 November 16th, 2003 03:17 PM



All times are GMT -4. The time now is 05:17 PM.


Powered by vBulletin®
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
© 2013 John Wiley & Sons, Inc.