שלח תשובה

זירת השאלות

530
צפיות
23
תשובות

סל קניות

,‏ 30 ביולי, 2009

האם לבנות עגלת קניות דרך ה SISSION  או דרך בסיס נתונים?

אמרו לי שדרך ה SISSION הוא תופס המון זיכרון בשרת.


האם השיטה הזאת שמצורפת בקישור היא מקצועית?
http://asp.org.il/article/shopping-cart

רק לא הבנתי מהמאר הזה – איך מחברים את ה JOIN  עם שתי הטבלאות  עם ה
Where SessionID =" & Session.SessionID & "" ?

תגיות:

23 תשובות

  1. BuildHome הגיב:

    תשובה
    מומלץ שלא לבנות עם ה-SESSION.

    יש לך כאן מאמר לבניית עגלת קניות, אך לרשומים בלבד..
    http://www.webmaster.org.il/article.asp?id=46

    אתה יכול להתבסס על זה גם בסל קניות לאורחים.
    אתה פשוט יכול לעשות זאת עפ"י כתובת IP…
    וככה אתה לא שומר שום מידע אודות הלקוח בצד שרת כמו SESSION.
    ופשוט ניתן למחוק קניות שלא פעילות (מאז הפעם האחרונה שהוסיפו מוצר לסל קניות) .. למשל אחרי 72 שעות (ניתן ללקוח לחזור עד יומיים שלושה לאחר מכן ועדיין נזכור אותו במערכת).

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

    סתם רעיון בסיסי. אם יושבים וחושבים אני מניח אפשר להגיע לתוצאה טובה מאוד.


    "החיים הם רק הדרך במסע הנפש", בילד 2004-2008 <img src='/images/6.gif'>
    http://Www.Torec.Net &nbsp;* http://Www.Torec.In

  2. JUBRANO הגיב:

    קראתי את המאמר שלכם דרך אגב קבלתי שגיאה
    ProductID = Request.QueryString("idp")
    if ProductID <> "" then
    Set Rs = Server.CreateObject("ADODB.Recordset")
        Sql = "Select * From gallerycat Where id = " & ProductID
        Rs.Open Sql, cn, 1, 1
        If Rs.Bof Then
            Response.Write "מוצר אינו נמצא"
        Else
            Replace(Session("Cart"),"," & ProductID,"")
            Response.Write "המוצר נמחק!"
        End If
        Rs.Close
        Set Rs = Nothing
    end if

    למה הוא מציג לי את השגיאה הזאת

    Microsoft VBScript compilation error '800a0414'

    Cannot use parentheses when calling a Sub

    /cart.asp, line 22

    Replace(Session("Cart"),"," & ProductID,"")

  3. JUBRANO הגיב:

    דבר 2
    שאלה 1
    למה על מי פי ה IP ? מה הבעיה עם ה ID של ה SESSION ?

    שאלה 2
    איך עובדת עגלת קניות בדרך כלל
    נגיד
    אורח רשום אבל לא התחבר עדין הוא רק עושה קניות אחרי שהוא סיים קניות הוא מתחבר
    1 מגיע לדף שיש בו את הפרטים האישים אוקי
    2 עובר לדף של פרטי תשלום
    3 מגיע לדף שמחזיר  לו או חיובי או שלילי

    נכון?

    אז ברגע שהתשלום מתבצע – זאת אומרת קיבל תשובה חיובית רק אז הסל הקניות שלו נשמרים בשתי בטבלאות – טבלה אחת לפרטי הקונה וטבלה שניה למוצרים שהוא קנה –  כך זה?

    ואם לא אז לא מעבירים את הסל שלו ?

    שאלה 3
    מה שלא הבנתי  מהמאמר הזה
    http://asp.org.il/article/shopping-cart

    בהצגה של סל הקניות לפי ה SESSIONID
    איך משפט ה SQL יעבוד ביחד עם ה JOIN של שתי טבלאות?

  4. BuildHome הגיב:

    תשובה
    השורה של השגיאה צריכה להיות מוזנת לתוך משתנה..

    כלומר TEST = REPLACE….


    "החיים הם רק הדרך במסע הנפש", בילד 2004-2008 <img src='/images/6.gif'>
    http://Www.Torec.Net &nbsp;* http://Www.Torec.In

  5. BuildHome הגיב:

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

    אני אישית לא נכנס אל ASP.ORG.IL.
    אלו מאמרים משנות ה… יש היום דברים יעילים יותר, מסדי נתונים יעילים יותר, לא צריך לחזור לעבר.

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


    "החיים הם רק הדרך במסע הנפש", בילד 2004-2008 <img src='/images/6.gif'>
    http://Www.Torec.Net &nbsp;* http://Www.Torec.In

  6. JUBRANO הגיב:

    תודה רבה רק אני רוצה פשוט לשמוע את הדיעה
    אני חקרתי את הנושא אבל אני לא אוכל לדעת איך עובדת בדיוק המערכת בכל אתר

    רק תעני לי בכן או לא אם זאת דרך שמשתמשים פה

    אורח רשום אבל לא התחבר עדין הוא רק עושה קניות אחרי שהוא סיים קניות הוא מתחבר
    1 מגיע לדף שיש בו את הפרטים האישים אוקי
    2 עובר לדף של פרטי תשלום
    3 מגיע לדף שמחזיר  לו או חיובי או שלילי

    אז ברגע שהתשלום מתבצע – זאת אומרת קיבל תשובה חיובית רק אז הסל הקניות שלו נשמרים בשתי בטבלאות – טבלה אחת לפרטי הקונה וטבלה שניה למוצרים שהוא קנה –  כך זה?

    ואם לא אז לא מעבירים את הסל שלו ?

    שאלה 3
    זה יכול להיות במקום ה SESSIONID  ה IP של המשתמש
    בהצגה של סל הקניות לפי ה SESSIONID
    איך משפט ה SQL יעבוד ביחד עם ה JOIN של שתי טבלאות?

    מה שאני לא מבין אם יש לי טבלה שיש בה את ה ID של המוצרים
    והמוצרים נמצאים בטבלה אחרת

    איך אוכל להציג אותם עם JOIN אבל לפי ה IP של המשתמש ?

    הבנת אותי?

  7. BuildHome הגיב:

    תשובה
    1. אתה יכול לעשות טבלה אחת, שפשוט אם הוא אורח אז הוא ישמור בשדה את ה-IP ובשדה משתמש יהיה 0 (אורח), ואם הוא מחובר, ימלא את ה-IP שלו ואת המספר משתמש שלו (קוקיז).

    2. עושים JOIN בין ה-ID של המוצר ל-ID של המוצר בטבלת מוצרים. בלי קשר ל-IP או SESSION ID.


    "החיים הם רק הדרך במסע הנפש", בילד 2004-2008 <img src='/images/6.gif'>
    http://Www.Torec.Net &nbsp;* http://Www.Torec.In

  8. JUBRANO הגיב:

    גם עם IP יש בעיה והיא
    יש מצב כמו אצלי יש לי רשת ושני המחשבים מקבלים אותו IP
    ה IP הזה ספק האינטרנט נותן לי אותו – לא יודע אם זאת נחשבת כבעיה.

    2 בשביל מה אני צריך קוקויז-הוא יהיה חסר ערך אם מישהו ימחק את ה קוקיז. לא!

  9. JUBRANO הגיב:

    לגבי JOIN
    איך אני יכול להציג למשתמש את המוצרים שיש לו בסל

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

    איך יהיה בנוי משפט ה SQL?

  10. JUBRANO הגיב:

    לגבי תשוב 1
    מה בדיוק ניסת להגיד לי במשפט הזה:
    ". אתה יכול לעשות טבלה אחת, שפשוט אם הוא אורח אז הוא ישמור בשדה את ה-IP ובשדה משתמש יהיה 0 (אורח), ואם הוא מחובר, ימלא את ה-IP שלו ואת המספר משתמש שלו (קוקיז)."

    על איזה טבלה בדיוק מדובר?

    אני חשבתי לעשות טבלת CART שזאת סל הקניות

    ןברגע שהקניה מתבצעת והכל טוב ויפה מעבירים את סל שלו לטבלת DETAILS ORDER ששם בעל החנות יראה את ההזמנות.

    הגיוני ומקצעוי- לא?
    זה לא כך הולך באמת באתרי קניות?

  11. BuildHome הגיב:

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

    אין טעם שאמשיך ואענה לשאלותיך כי משאלותיך אני מבין שעדיין אינך ברמה של פיתוח סל קניות מאובטח ונכון.

    מצטער ובהצלחה.


    "החיים הם רק הדרך במסע הנפש", בילד 2004-2008 <img src='/images/6.gif'>
    http://Www.Torec.Net &nbsp;* http://Www.Torec.In

  12. JUBRANO הגיב:

    יש לי את היכולת – אני לא מזלזל
    אני יודע SQL – אני לא חדש איתה – פשוט מחפש מישהו שיעזור לי בשאלה ששאלתי לגבי ה SQL

    זה לא נורא אם  אלמד ממך משהו ובגלל זה  אני שואל להיות מודע למה שקורה ובצורה הכי שימושית?

  13. JUBRANO הגיב:

    הבעיה שלי עם ה JOIN היא
    אני רוצה להציג מידע משתי טבלאות אבל לפי שדה למשל IP
    להציג מידע משתי טבלאות אני יודע

    אבל איך אוכ להציג אותם עם  WHERE=IP

  14. JUBRANO הגיב:

    לגבי הקוקיז – אתה התכוונת שתחליף את ה
    SESSION – נכון?

  15. BuildHome הגיב:

    תשובה
    תנסה לעשות שאילתה, תראה מה עשית…ואעזור לתקן.
    אבל מכלום ? זה אומר שאין לך את היכולת.
    אם יש לך את היכולת, תנסה.. ותכתוב כאן מה ניסית.


    "החיים הם רק הדרך במסע הנפש", בילד 2004-2008 <img src='/images/6.gif'>
    http://Www.Torec.Net &nbsp;* http://Www.Torec.In

  16. BuildHome הגיב:

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


    "החיים הם רק הדרך במסע הנפש", בילד 2004-2008 <img src='/images/6.gif'>
    http://Www.Torec.Net &nbsp;* http://Www.Torec.In

  17. JUBRANO הגיב:

    כן כדי שיוכל לזהות אותך כמו בפורום פה
    יצרית קוקויז בהתחברות במקום יצירת SESSION של היוזר

  18. JUBRANO הגיב:

    זה קישור
    http://www.castro-gifts.com/card.asp

    זה קישור שתוכל להוסיף מוצר
    http://www.castro-gifts.com/products_infosh.asp?idphoto=450&idcat=432&idcatp=328

    זה משפט ה SQL

    Sql = "SELECT cardshop.*, gallerycat.* FROM cardshop INNER JOIN gallerycat ON

  19. JUBRANO הגיב:

    משפט SQL מתוקן
    Sql = "SELECT cardshop.*, gallerycat.* FROM cardshop INNER JOIN gallerycat ON cardshop.proud_id=gallerycat.id"

  20. samiprogram הגיב:

    למה לא להשתמש בעוגיות?
    אתה צריך לעלות בחשבון מקרה קצה שעלול לקרות מצב שכמה אנשים יגלשו בו זמנית מאותו כתובת IP ואתה חייב שהעגלה תשוייך לדפדפן ספציפי ולא לכתובת IP.

שלח תשובה

חדש! אחסון אתרים של וובמאסטר

שירות אחסון אתרים
המקצועי של וובמאסטר!

מומחים באירוח אתרי
WordPress, Joomla, Drupal

  • שרתי לינוקס עם CloudLinux, LiteSpeed
  • 1GB דיסק SSD, 10GB תעבורה חודשית
  • ממשק ניהול cPanel, תעודת SSL חינם

עכשיו במחיר היכרות:
רק 420 ש"ח לשנה!