Avatar billede tanzaweb Nybegynder
09. december 2001 - 16:48 Der er 2 kommentarer og
1 løsning

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

%>
Avatar billede tanzaweb Nybegynder
09. december 2001 - 16:55 #1
se hvordan det virker på http://www.exakt.dk/product.asp?pid=100015 tryk på linket for at tilføje en varer, jeg laver dette for en ven så det er lidt af et eksperiment, så bær over med mig.

Håber der er en der kan hjælpe.
Avatar billede websam Nybegynder
09. december 2001 - 23:48 #2
Hejsa !

Jeg har selv rodet en del med E-handel og kan
sige så meget at det er meget lettere at bruge
sessions i stedet for cookies bare lige en ide

Mvh.Martin
Avatar billede tanzaweb Nybegynder
07. juni 2003 - 16:33 #3
løst det selv
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester