1050
צפיות
צפיות
23
תשובות
תשובות
סל קניות
האם לבנות עגלת קניות דרך ה SISSION או דרך בסיס נתונים?
אמרו לי שדרך ה SISSION הוא תופס המון זיכרון בשרת.
האם השיטה הזאת שמצורפת בקישור היא מקצועית?
http://asp.org.il/article/shopping-cart
רק לא הבנתי מהמאר הזה – איך מחברים את ה JOIN עם שתי הטבלאות עם ה
Where SessionID =" & Session.SessionID & "" ?

23 תשובות
תשובה
מומלץ שלא לבנות עם ה-SESSION.
יש לך כאן מאמר לבניית עגלת קניות, אך לרשומים בלבד..
https://www.webmaster.org.il/article.asp?id=46
אתה יכול להתבסס על זה גם בסל קניות לאורחים.
אתה פשוט יכול לעשות זאת עפ"י כתובת IP…
וככה אתה לא שומר שום מידע אודות הלקוח בצד שרת כמו SESSION.
ופשוט ניתן למחוק קניות שלא פעילות (מאז הפעם האחרונה שהוסיפו מוצר לסל קניות) .. למשל אחרי 72 שעות (ניתן ללקוח לחזור עד יומיים שלושה לאחר מכן ועדיין נזכור אותו במערכת).
במידה והוא מבצע את הרכישה כאורח הוא יצטרך מן הסתם להירשם או להתחבר, וברגע שהוא עושה זאת, אתה מעביר את המוצרים שלו לטבלת הרשומים למשל.
סתם רעיון בסיסי. אם יושבים וחושבים אני מניח אפשר להגיע לתוצאה טובה מאוד.
"החיים הם רק הדרך במסע הנפש", בילד 2004-2008 <img src='/images/6.gif'>
http://Www.Torec.Net * http://Www.Torec.In
קראתי את המאמר שלכם דרך אגב קבלתי שגיאה
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,"")
דבר 2
שאלה 1
למה על מי פי ה IP ? מה הבעיה עם ה ID של ה SESSION ?
שאלה 2
איך עובדת עגלת קניות בדרך כלל
נגיד
אורח רשום אבל לא התחבר עדין הוא רק עושה קניות אחרי שהוא סיים קניות הוא מתחבר
1 מגיע לדף שיש בו את הפרטים האישים אוקי
2 עובר לדף של פרטי תשלום
3 מגיע לדף שמחזיר לו או חיובי או שלילי
נכון?
אז ברגע שהתשלום מתבצע – זאת אומרת קיבל תשובה חיובית רק אז הסל הקניות שלו נשמרים בשתי בטבלאות – טבלה אחת לפרטי הקונה וטבלה שניה למוצרים שהוא קנה – כך זה?
ואם לא אז לא מעבירים את הסל שלו ?
שאלה 3
מה שלא הבנתי מהמאמר הזה
http://asp.org.il/article/shopping-cart
בהצגה של סל הקניות לפי ה SESSIONID
איך משפט ה SQL יעבוד ביחד עם ה JOIN של שתי טבלאות?
תשובה
השורה של השגיאה צריכה להיות מוזנת לתוך משתנה..
כלומר TEST = REPLACE….
"החיים הם רק הדרך במסע הנפש", בילד 2004-2008 <img src='/images/6.gif'>
http://Www.Torec.Net * http://Www.Torec.In
תשובה
אם אתה משתמש ב-SESSION, שוב, לא יעיל. בזבזני.
גם אם תשמור רק את ה-ID שלו במסד והכל דרך טבלאות,
אז כשהוא ייצא מהאתר ויחזור, הוא יקבל SESSION ID חדש.
ולא תזהה אותו שוב פעם.. גם אם עברו רק 30 דקות..
אני אישית לא נכנס אל ASP.ORG.IL.
אלו מאמרים משנות ה… יש היום דברים יעילים יותר, מסדי נתונים יעילים יותר, לא צריך לחזור לעבר.
לגבי סל הקניות, פשוט תחשוב את עצמך כקונה, אפילו תיכנס לחנות וירטואלית כלשהי באינטרנט, תעשה פעולות ותלך לרכישה. אתה כבר תבין איך זה עובד בעצם.
"החיים הם רק הדרך במסע הנפש", בילד 2004-2008 <img src='/images/6.gif'>
http://Www.Torec.Net * http://Www.Torec.In
תודה רבה רק אני רוצה פשוט לשמוע את הדיעה
אני חקרתי את הנושא אבל אני לא אוכל לדעת איך עובדת בדיוק המערכת בכל אתר
רק תעני לי בכן או לא אם זאת דרך שמשתמשים פה
אורח רשום אבל לא התחבר עדין הוא רק עושה קניות אחרי שהוא סיים קניות הוא מתחבר
1 מגיע לדף שיש בו את הפרטים האישים אוקי
2 עובר לדף של פרטי תשלום
3 מגיע לדף שמחזיר לו או חיובי או שלילי
אז ברגע שהתשלום מתבצע – זאת אומרת קיבל תשובה חיובית רק אז הסל הקניות שלו נשמרים בשתי בטבלאות – טבלה אחת לפרטי הקונה וטבלה שניה למוצרים שהוא קנה – כך זה?
ואם לא אז לא מעבירים את הסל שלו ?
שאלה 3
זה יכול להיות במקום ה SESSIONID ה IP של המשתמש
בהצגה של סל הקניות לפי ה SESSIONID
איך משפט ה SQL יעבוד ביחד עם ה JOIN של שתי טבלאות?
מה שאני לא מבין אם יש לי טבלה שיש בה את ה ID של המוצרים
והמוצרים נמצאים בטבלה אחרת
איך אוכל להציג אותם עם JOIN אבל לפי ה IP של המשתמש ?
הבנת אותי?
תשובה
1. אתה יכול לעשות טבלה אחת, שפשוט אם הוא אורח אז הוא ישמור בשדה את ה-IP ובשדה משתמש יהיה 0 (אורח), ואם הוא מחובר, ימלא את ה-IP שלו ואת המספר משתמש שלו (קוקיז).
2. עושים JOIN בין ה-ID של המוצר ל-ID של המוצר בטבלת מוצרים. בלי קשר ל-IP או SESSION ID.
"החיים הם רק הדרך במסע הנפש", בילד 2004-2008 <img src='/images/6.gif'>
http://Www.Torec.Net * http://Www.Torec.In
גם עם IP יש בעיה והיא
יש מצב כמו אצלי יש לי רשת ושני המחשבים מקבלים אותו IP
ה IP הזה ספק האינטרנט נותן לי אותו – לא יודע אם זאת נחשבת כבעיה.
2 בשביל מה אני צריך קוקויז-הוא יהיה חסר ערך אם מישהו ימחק את ה קוקיז. לא!
לגבי JOIN
איך אני יכול להציג למשתמש את המוצרים שיש לו בסל
ויש לי שתי טבלאות אחת שיש ה ID של המוצר והטבלה השניה יש בה את המוצרים עצמם.
איך יהיה בנוי משפט ה SQL?
לגבי תשוב 1
מה בדיוק ניסת להגיד לי במשפט הזה:
". אתה יכול לעשות טבלה אחת, שפשוט אם הוא אורח אז הוא ישמור בשדה את ה-IP ובשדה משתמש יהיה 0 (אורח), ואם הוא מחובר, ימלא את ה-IP שלו ואת המספר משתמש שלו (קוקיז)."
על איזה טבלה בדיוק מדובר?
אני חשבתי לעשות טבלת CART שזאת סל הקניות
ןברגע שהקניה מתבצעת והכל טוב ויפה מעבירים את סל שלו לטבלת DETAILS ORDER ששם בעל החנות יראה את ההזמנות.
הגיוני ומקצעוי- לא?
זה לא כך הולך באמת באתרי קניות?
מה הכוונה למספר משתמש?
תשובה
נראה כי אין לך את היכולות לבנות סל קניות, בלי לזלזל.
אתה צריך ללמוד לעומק SQL ומשם להתחיל ולהתקדם הלאה.
אין טעם שאמשיך ואענה לשאלותיך כי משאלותיך אני מבין שעדיין אינך ברמה של פיתוח סל קניות מאובטח ונכון.
מצטער ובהצלחה.
"החיים הם רק הדרך במסע הנפש", בילד 2004-2008 <img src='/images/6.gif'>
http://Www.Torec.Net * http://Www.Torec.In
יש לי את היכולת – אני לא מזלזל
אני יודע SQL – אני לא חדש איתה – פשוט מחפש מישהו שיעזור לי בשאלה ששאלתי לגבי ה SQL
זה לא נורא אם אלמד ממך משהו ובגלל זה אני שואל להיות מודע למה שקורה ובצורה הכי שימושית?
הבעיה שלי עם ה JOIN היא
אני רוצה להציג מידע משתי טבלאות אבל לפי שדה למשל IP
להציג מידע משתי טבלאות אני יודע
אבל איך אוכ להציג אותם עם WHERE=IP
לגבי הקוקיז – אתה התכוונת שתחליף את ה
SESSION – נכון?
תשובה
תנסה לעשות שאילתה, תראה מה עשית…ואעזור לתקן.
אבל מכלום ? זה אומר שאין לך את היכולת.
אם יש לך את היכולת, תנסה.. ותכתוב כאן מה ניסית.
"החיים הם רק הדרך במסע הנפש", בילד 2004-2008 <img src='/images/6.gif'>
http://Www.Torec.Net * http://Www.Torec.In
תשובה
ממש לא.
הקוקיז הוא בכלל לא קשור לסל קניות אלא לחנות עצמה.
אחרי שלקוח מתחבר, המידע נשמר בקוקיז.
"החיים הם רק הדרך במסע הנפש", בילד 2004-2008 <img src='/images/6.gif'>
http://Www.Torec.Net * http://Www.Torec.In
כן כדי שיוכל לזהות אותך כמו בפורום פה
יצרית קוקויז בהתחברות במקום יצירת SESSION של היוזר
זה קישור
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
משפט SQL מתוקן
Sql = "SELECT cardshop.*, gallerycat.* FROM cardshop INNER JOIN gallerycat ON cardshop.proud_id=gallerycat.id"
בדקת את מה ששלחתי לך?
יש תשובה? – תודה
למה לא להשתמש בעוגיות?
אתה צריך לעלות בחשבון מקרה קצה שעלול לקרות מצב שכמה אנשים יגלשו בו זמנית מאותו כתובת IP ואתה חייב שהעגלה תשוייך לדפדפן ספציפי ולא לכתובת IP.