passing cookies
Hej Jeg har lavet nogle sider der hængersammen, på følgende måde.Når jeg trykker på tilføjknappen skal den lægges i kurven, men hvis jeg ikke er logget ind skal den gå til login siden eller registrer side hvis jeg ikke er oprettet, efter at jeg har registret mig selv skal den så gå videre til næste side, men det ser ud som om den ikke registrere cookies med username og password, da den ved registrering bliver på siden med login registrering.
Er der nogen der gider at kigge på koden for at se om de kan se en fejl jeg har overset?
Læg mærke til at jeg har brugt en <%=submitpage%> i form action
cart.asp
-------------------------------
<%@ language=VBSCRIPT %>
<% Option Explicit %>
<!-- #INCLUDE FILE=\"storefuncs.asp\" -->
<%
\' Get product ID
dim product_id, username, password, register, error
product_id = TRIM( request( \"pid\" ) )
\' Get login information
username = TRIM( Request( \"username\" ) )
password = TRIM( Request( \"password\" ) )
register = TRIM( Request( \"register\" ) )
error = TRIM( Request( \"error\" ) )
\' Open Database Connection
%>
<!-- #include file=\"dataconn.asp\"-->
<%
\' Check for new registration
IF register <> \"\" AND error = \"\" THEN
adduser
END IF
\' Get user id
dim Con,userID
userID = checkpassword( username, password, Con )
IF userID > 0 THEN
%>
<!-- #INCLUDE FILE=\"addcart.asp\" -->
<%ELSE%>
<!-- #INCLUDE FILE=\"register.asp\" -->
<%
END IF
%>
-----------------------------------------------
registrer.asp
-----------------------------------------------
<%
dim newusername,newpassword,email,street,city,state,zip,ccname,submitpage,productID
newusername = TRIM( Request( \"newusername\" ) )
newpassword = TRIM( Request( \"newpassword\" ) )
email = TRIM( Request( \"email\" ) )
street = TRIM( Request( \"street\" ) )
city = TRIM( Request( \"city\" ) )
state = TRIM( Request( \"state\" ) )
zip = TRIM( Request( \"zip\" ) )
ccname = TRIM( Request( \"ccname\" ) )
submitpage = Request.ServerVariables( \"SCRIPT_NAME\" )
%>
<html>
<head><title>Register</title>
<link rel=\"stylesheet\" type=\"text/css\" href=\"style1.css\">
</head>
<body bgcolor=\"black\">
<center>
<table width=\"500\" border=0 cellpadding=4 cellspacing=0>
<tr class=\"register\">
<td colspan=\"2\" bgcolor=\"darkgreen\">
<b>Login</b>
</td>
</tr>
<tr class=\"reg_text\">
<td colspan=\"2\">
<form method=\"post\" action=\"<%=submitpage%>\">
<input name=\"login\" type=\"hidden\" value=\"1\">
<input name=\"pid\" type=\"hidden\" value=\"<%=product_id%>\">
Venligst indtast dit brugernavn og password:
</td>
</tr>
<tr class=\"reg_text\">
<td width=\"100\">
<b>Brugernavn:</b>
</td>
<td width=\"400\">
<input name=\"username\" size=\"30\">
</td>
</tr>
<tr class=\"reg_text\">
<td width=\"100\">
<b>Password:</b>
<br/>
</td>
<td width=\"400\">
<input name=\"password\" size=\"30\">
</td>
</tr>
<tr>
<td colspan=\"2\" align=\"center\">
<input type=\"submit\" value=\"Login\">
</td>
</tr>
</form>
<tr class=\"register\">
<td colspan=\"2\" bgcolor=\"darkgreen\">
<b>Register</b>
</td>
</tr>
<tr class=\"reg_text\">
<td colspan=\"2\">
<form method=\"post\" action=\"<%=submitpage%>\">
<input name=\"register\" type=\"hidden\" value=\"1\">
<input name=\"pid\" type=\"hidden\" value=\"<%=productID%>\">
Hvis du er ny bruger, så beder vi dig registrer ved at udfylde nedstående formular:
</td>
</tr>
<tr class=\"register2\">
<td colspan=\"2\">
<b>Login Information:</b>
</td>
</tr>
<tr class=\"reg_text\">
<td width=\"100\">
<b>Brugernavn:</b>
</td>
<td width=\"400\">
<input name=\"newusername\" size=30 maxlength=20
value=\"<%=Server.HTMLEncode( newusername )%>\">
</td>
</tr>
<tr class=\"reg_text\">
<td width=\"100\">
<b>Password:</b>
</td>
<td width=\"400\">
<input name=\"newpassword\" size=30 maxlength=20
value=\"<%=server.HTMLEncode( newpassword )%>\">
</td>
</tr>
<tr class=\"reg_text\">
<td width=\"100\">
<b>Email adresse:</b>
</td>
<td width=\"400\">
<input name=\"email\" size=30 maxlength=75
value=\"<%=Server.HTMLEncode( email )%>\">
</td>
</tr>
<tr class=\"register2\">
<td colspan=\"2\">
<b>Adresse Information:</b>
</td>
</tr>
<tr class=\"reg_text\">
<td width=\"100\">
<b>Navn:</b>
</td>
<td width=\"400\">
<input name=\"ccname\" size=30 maxlength=20
value=\"<%=Server.HTMLEncode( ccname )%>\">
</td>
</tr>
<tr class=\"reg_text\">
<td width=\"100\">
<b>Gade:</b>
</td>
<td width=\"400\">
<input name=\"street\" size=30 maxlength=50
value=\"<%=Server.HTMLEncode( street )%>\">
</td>
</tr>
<tr class=\"reg_text\">
<td width=\"100\">
<b>By:</b>
</td>
<td width=\"400\">
<input name=\"city\" size=30 maxlength=50
value=\"<%=Server.HTMLEncode( city )%>\">
</td>
</tr>
<tr class=\"reg_text\">
<td width=\"100\">
<b>Land:</b>
</td>
<td width=\"400\">
<input name=\"state\" size=30 maxlength=30
value=\"<%=Server.HTMLEncode( state )%>\">
</td>
</tr>
<tr class=\"reg_text\">
<td width=\"100\">
<b>Postnummer:</b>
</td>
<td width=\"400\">
<input name=\"zip\" size=30 maxlength=20
value=\"<%=Server.HTMLEncode( zip )%>\">
</td>
</tr>
<tr>
<td colspan=\"2\" align=\"center\">
<input type=\"submit\" value=\"Register\">
</td>
</tr>
</form>
</table>
</body>
</html>
--------------------------------------------------------------
storefunction.asp
--------------------------------------------------------------
<%
\'==========================
\' Common Functions
\'==========================
FUNCTION fixQuotes( theString )
fixQuotes = REPLACE( theString, \"\'\", \"\'\'\" )
END FUNCTION
SUB addcookie( theName, theValue )
Response.Cookies( theName ) = theValue
Response.Cookies( theName ).Expires = \"December 31, 2002\"
Response.Cookies( theName ).Path = \"/\"
Response.Cookies( theName ).Secure = FALSE
END SUB
dim sqlstring, RS
FUNCTION checkpassword( byVal username, byVal password, byRef Con )
sqlString = \"SELECT user_id FROM users \" &_
\"WHERE user_username=\'\" & username & \"\' \" &_
\"AND user_password=\'\" & password & \"\'\"
SET RS = Conn.Execute( sqlString )
IF RS.EOF THEN
checkpassword = - 1
ELSE
checkpassword = RS( \"user_id\" )
addCookie \"username\", username
addCookie \"password\", password
END IF
END FUNCTION
FUNCTION SELECTED( firstVal, secondVal )
IF cSTR( firstVal ) = cSTR( secondVal ) THEN
SELECTED = \" SELECTED \"
ELSE
SELECTED = \"\"
END IF
END FUNCTION
SUB errorForm( errorMSG, backpage )
%>
<html>
<head><title>Problem</title></head>
<body bgcolor=\"lightyellow\">
<center>
<table width=\"500\" border=1
cellpadding=5 cellspacing=0>
<tr>
<td>
<font face=\"Arial\" size=\"3\" color=\"darkblue\"><b>
Der var et problem med de informationer du indtastede:
</b></font>
<font size=\"3\" color=\"red\"><b>
<br><%=errorMSG%>
</b></font>
<br>
<form method=\"post\" action=\"<%=backpage%>\">
<input name=\"error\" type=\"hidden\" value=\"1\">
<% formFields %>
<input type=\"submit\" value=\"Return\">
</form>
</td>
</tr>
</table>
</center>
</body>
</html>
<%
Response.End
END SUB
SUB formFields
dim item
FOR each item in Request.Form
%>
<input name=\"<%=item%>\" type=\"hidden\"
value=\"<%=Server.HTMLEncode( Request( item ) )%>\">
<%
NEXT
END SUB
\'===========================
\' Registration Functions
\'===========================
SUB addUser
\' Get Registration Fields
newusername = TRIM( Request( \"newusername\" ) )
newpassword = TRIM( Request( \"newpassword\" ) )
email = TRIM( Request( \"email\" ) )
street = TRIM( Request( \"street\" ) )
city = TRIM( Request( \"city\" ) )
state = TRIM( Request( \"state\" ) )
zip = TRIM( Request( \"zip\" ) )
ccname = TRIM( Request( \"ccname\" ) )
\' Check For Required Fields
dim backpage
backpage = Request.ServerVariables( \"SCRIPT_NAME\" )
IF newusername = \"\" THEN
errorForm \"Du skal indtast et brugernavn.\", backpage
END IF
IF newpassword = \"\" THEN
errorForm \"Du skal indtast et password.\", backpage
END IF
IF email = \"\" THEN
errorForm \"Du skal indtast din email address.\", backpage
END IF
IF street = \"\" THEN
errorForm \"Du skal indtast dit gade navn.\", backpage
END IF
IF city = \"\" THEN
errorForm \"Du skal indtast dit bynavn.\", backpage
END IF
IF state = \"\" THEN
errorForm \"Du skal indtast dit land.\", backpage
END IF
IF zip = \"\" THEN
errorForm \"Du skal indtast dit postnummer.\", backpage
END IF
IF ccname = \"\" THEN
errorForm \"Du skal indtast dit navn.\", backpage
END IF
\' Check for Necessary Field Values
IF invalidEmail( email ) THEN
errorForm \"Du skal indtaste en godkendt email adresse\", backpage
END IF
\' Check whether username already registered
IF alreadyUser( newusername ) THEN
errorForm \"Vælg venligst et andet brugernavn, dette kan ikke bruges.\", backpage
END IF
\' Add New User to Database
sqlString = \"INSERT INTO users ( \" &_
\"user_username, \" &_
\"user_password, \" &_
\"user_email,\" &_
\"user_street, \" &_
\"user_city,\" &_
\"user_state,\" &_
\"user_zip,\" &_
\"user_ccname\" &_
\") VALUES ( \" &_
\" \'\" & fixQuotes( newusername ) & \"\', \" &_
\" \'\" & fixQuotes( newpassword ) & \"\', \" &_
\" \'\" & fixQuotes( email ) & \"\', \" &_
\" \'\" & fixQuotes( street ) & \"\', \" &_
\" \'\" & fixQuotes( city ) & \"\', \" &_
\" \'\" & fixQuotes( state ) & \"\', \" &_
\" \'\" & fixQuotes( zip ) & \"\', \" &_
\" \'\" & fixQuotes( ccname ) & \"\' \" &_
\")\"
Conn.Execute sqlString
\' Use the new username and password
username = newusername
password = newpassword
\' Add Cookies
addCookie \"username\", username
addCookie \"password\", password
END SUB
SUB updateUser
\' Get Registration Fields
street = TRIM( Request( \"street\" ) )
city = TRIM( Request( \"city\" ) )
state = TRIM( Request( \"state\" ) )
zip = TRIM( Request( \"zip\" ) )
ccname = TRIM( Request( \"ccname\" ) )
\' Check For Required Fields
backpage = \"checkout.asp\"
IF ccname = \"\" THEN
errorForm \"Du skal indtast dit navn.\", backpage
END IF
IF street = \"\" THEN
errorForm \"Du skal indtast dit gade navn.\", backpage
END IF
IF city = \"\" THEN
errorForm \"Du skal indtast dit by navn.\", backpage
END IF
IF state = \"\" THEN
errorForm \"Du skal indtast dit land.\", backpage
END IF
IF zip = \"\" THEN
errorForm \"Du skal indtast dit postnummer.\", backpage
END IF
\' Update user information in the database
sqlString = \"UPDATE users SET \" &_
\"user_street=\'\" & fixQuotes( street ) & \"\', \" &_
\"user_city=\'\" & fixQuotes( city ) & \"\',\" &_
\"user_state=\'\" & fixQuotes( state ) & \"\',\" &_
\"user_zip=\'\" & fixQuotes( zip ) & \"\',\" &_
\"user_ccname=\'\" & fixQuotes( ccname ) & \"\' \" &_
\"WHERE user_id=\" & userID
Con.Execute sqlString
END SUB
FUNCTION invalidEmail( email )
IF INSTR( email, \"@\" ) = 0 OR INSTR( email, \".\" ) = 0 THEN
invalidEmail = TRUE
ELSE
invalidEmail = FALSE
END IF
END FUNCTION
FUNCTION alreadyUser( theUsername )
sqlString = \"SELECT user_username FROM users \" &_
\"WHERE user_username=\'\" & fixQuotes( theUsername ) & \"\'\"
SET RS = Conn.Execute( sqlString )
IF RS.EOF THEN
alreadyUser = FALSE
ELSE
alreadyUser = TRUE
END IF
RS.Close
END FUNCTION
%>
