המדריך לבניית עגלת קניות

‏ • 5 באוגוסט, 2002

במדריך זה תלמדו איך לבנות אתר מסחר אלקטרוני.
כל הדברים האמורים במדריך מובאים בקצרה, ויש ללמוד עוד הרבה בכדי לבנות אתר מסחר אלקטרוני.
אתרי מסחר אלקטרוני צריכים להיות מאוחסנים על שרתי SSL, שהם שרתים מוגנים המקודדים את כל מה שעובר דרכם.
כאן מובא הבסיס לבניית אתר מסחר אלקטרוני, עם עגלת קניות העובדת בשיטת ה Session.


מבנה בסיס הנתונים

קודם כל יש ליצור טבלה של משתמשים:







  • ID (מספר אוטומטי): מספר מזהה.
  • user (טקסט): שם משתמש.
  • pass (טקסט): סיסמא.
  • uname (טקסט): שם.

אחרי שיש לנו את הטבלה של המשתמשים, צריך ליצור טבלה של המוצרים.







  • ID (מספר אוטומטי): מספר מזהה.
  • Price (מספר): מחיר.
  • P_Name (טקסט): שם המוצר.


קובץ זיפ של בסיס הנתוניםניתן להוריד פה
לאחר שגמרנו לבנות את הבסיס נתונים, ניתן להתחיל לבנות את האתר.

זיהוי המשתמש

כשהמשתמש נכנס לאתר ומזדהה בעזרת הקוד והסיסמא מתבצע הקוד הבא:






1
2
3
4
5
6
7
8
9
10
11
12
13
14  




<%
Set Rs = Server.CreateObject("ADODB.Recordset")
Sql = "Select * From Users Where User = '" & Request.Form("User") & "' And Pass = '" & Request.Form("Pass")
Rs.Open Sql, ObjConn, 1, 1
If Rs.Bof Then
   Response.Write "משתמש לא קיים"
Else
    Session("UserID")=Rs("ID")
    Session("Cart")=""
    Response.Write "ברוך הבא " & Rs("uname")
End If
Rs.Close
Set Rs = Nothing
%>


בקוד הזה עשינו בדיקה של השם משתמש והסיסמא.
השם משתמש והסיסמא מגיעים מדף מטופס בו יש שתי שדות.
השדה של השם משתמש נקרא User, והשדה של הסיסמא נקרא Pass.
לאחר שהטופס נשלח מתבצעת בדיקה של השם משתמש והסיסמא.
הבדיקה מתבצעת ע"י משפט Sql שמבקש את הנתונים מהטבלה Users איפה שהשם משתמש שווה לזה שבטופס, והסיסמא שווה לסיסמא שבטופס.
במידה ולא נמצאו נתונים, אזי המשתמש אינו קיים.
במידה ונמצאו נתונים נפתח Session שמכיל את ה ID של המשתמש,
ועוד Session שנקרא Cart, ובו מאוחסנים כל המוצרים שהמשתמש רוצה לקנות (עגלת הקניות)


הצגת כל המוצרים בחנות






1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20  




<%
Set Rs = Server.CreateObject("ADODB.Recordset")
Sql = "Select * From Products"
Rs.Open Sql, ObjConn, 1, 1
If Rs.Bof Then
   Response.Write "לא נמצאו מוצרים"
Else
Do Until Rs.Eof
   Response.Write "שם המוצר: " & Rs("P_Name")
   Response.Write "<br>"
   Response.Write "מחיר: " & Rs("Price")
   Response.Write "<a href=AddToCart.asp?ID=" & Rs("ID") & ">הוסף לסל</a>"
   Response.Write "<br><br>"
   Rs.MoveNext
Loop
End If
Rs.Close
Set Rs = Nothing

%>


בעזרת הקוד הזה אנו מוציאים את המוצרים מתוך הטבלה.
הפלט הוא שם המוצר, המחיר, ולינק להוספת המוצר לעגלת הקניות.
שימוש לב במיוחד לשורה הזו:






1
2
3  




<%
   Response.Write "<a href=AddToCart.asp?ID=" & Rs("ID") & ">הוסף לסל</a>"
%>


הקובץ AddToCart.asp הוא הקובץ בו מתבצעת בפועל הוספת המוצר לסל הקניות.


הוספת מוצר לעגלת הקניות

כשהמשתמש לוחץ על "הוסף לסל" הקוד הבא מתבצע:






1
2
3
4
5
6
7
8
9
10
11
12
13  




<%
ProductID = Request.QueryString("ID")
Set Rs = Server.CreateObject("ADODB.Recordset")
Sql = "Select * From Products Where ID = " & ProductID
Rs.Open Sql, ObjConn, 1, 1
If Rs.Bof Then
    Response.Write "מוצר לא קיים"
Else
    Session("Cart")=Session("Cart") & "," & ProductID
End If
Rs.Close
Set Rs = Nothing
%>



הצגת סל הקניות



ועכשיו, כשהגולש רוצה להכנס לסל הקניות שלו,
אנחנו צריכים להראות לו את המוצרים שהוא בחר, ולסכם את המחיר שלהם.
בשביל לראות איזה מוצרים הגולש בחר להוסיף לסל שלו נבנה שאילתה שתשלוף את כולם,ונעבור עליהם בלולאה (לא לפני שבדקנו שאכן יש מוצרים בסל)






1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23  





<%
If Session("Cart")<>"" Then
   Set Rs = Server.CreateObject("ADODB.Recordset")
   TotalPrice = 0
   PCount = 0
   Dim
Items
   Items=Session("Cart")
   If Left(Items,1)="," Then Items=Mid(Items,2)

   Sql = "SELECT * FROM Products WHERE ID IN (" & Items & ")"
   Rs.Open Sql, ObjConn, 1, 1

   Do While Not rs.EOF
        Response.Write PCount & ". שם המוצר: " & Rs("P_Name")
        Response.Write "<br>"
        Response.Write "מחיר: " & Rs("Price")
        Response.Write "<br><br>"
        TotalPrice = TotalPrice + Rs("Price")
        PCount = PCount + 1
     Next
     Response.Write PCount & " מוצרים, " & TotalPrice & " שקל."
     Rs.Close
     Set Rs = Nothing
Else
    Response.Write "הסל ריק"
End If
%>



PCount סופר את כמות המוצרים שיש בסל, TotalPrice הוא בסכום שעל הגולש לשלם.

מחיקת מוצר מהעגלה

בכדי שהמשתמש יוכל למחוק מוצרים מהסל שלו, נכין רוטינה שמקבלת ID של מוצר, ומוחקת אותו:






1
2
3
4
5
6
7
8
9
10
11
12
13
14
15  




<%
Sub DelProduct(ProductID)
    Set Rs = Server.CreateObject("ADODB.Recordset")
    Sql = "Select * From Products Where ID = " & ProductID
    Rs.Open Sql, ObjConn, 1, 1
    If Rs.Bof Then
        Response.Write "מוצר אינו נמצא"
    Else
        Replace(Session("Cart"),"," & ProductID,"")
        Response.Write "המוצר נמחק!"
    End If
    Rs.Close
    Set Rs = Nothing
End Sub
%>


אם נרצה למחוק את המוצר שה ID שלו הוא 30, אז נפנה לפונקציה בצורה הזאת:






1
2
3  




<%
  DelProduct(30)
%>


עד כאן.
עכשיו אתם יודעים ליצור אתר מסחר אלקטרוני, עם עגלת קניות.

בהצלחה!

תגיות: , , , ,

יוסי פרנסס

חולה אמיתי על מחשבים.. (תכנות).

תגובות בפייסבוק