PDA

View Full Version : اموزش گام به گام خريد آنلاين



mohsen.nsb44
یک شنبه 13 تیر 1389, 09:03 صبح
سلام همانطور كه همه شما دوستان مطلع هستيد مشكل خيلي از دوستان مبتدي مثل خودم نوشتن برنامه خريد اينترنتي(فروشگاه انلاين) است. اگه دوستان حرفه اي و اساتيد سايت موافق باشند در اين تاپيك اموزش گام به گام خريد اينترنتي انجام شود مسلما خيلي ها مثل خود من علاقه مند هستند كه خودشان طراحي كنند تا اينكه خريداري كنند. پس از دوستان و اساتيد خواهشمند است تو اين ضمينه به ما كمك كنند.

mohsen.nsb44
یک شنبه 13 تیر 1389, 10:12 صبح
لطفا دوستاني كه اين تاپيك رو مشاهده مي كنند و علاقه مند به يادگيري هستند نظرات خود را بنويسند تا دوستان حرفه اي با مشاهده تقاضاي زياد از طرف شما عزيزان كمك كنند.

raziee
یک شنبه 13 تیر 1389, 10:42 صبح
من پیشنهادم اینه که شما خوت شروع کن به نوشتن، اگه سوالی بود بپرسید.
سناریو 2 - چگونگی نگهداری سبد خرید در پروژه فروشگاه آنلاین کتاب (http://barnamenevis.org/forum/showthread.php?t=130127) رو مطالعه کنید.

mohsen.nsb44
یک شنبه 13 تیر 1389, 11:05 صبح
من پیشنهادم اینه که شما خوت شروع کن به نوشتن، اگه سوالی بود بپرسید.
سناریو 2 - چگونگی نگهداری سبد خرید در پروژه فروشگاه آنلاین کتاب (http://barnamenevis.org/forum/showthread.php?t=130127) رو مطالعه کنید.
دوست عزيز ممنون از لينكي كه معرفي كردي اما مسئله اينجاست كه من با دات نت 2 كار مي كنم به زبان سي شارپ در حالي كه در اون تاپيك با دات نت 3.5 توضيح داده شده به هر حال ممنون
اگه مي دونستم استقبال نمي شه اين تاپيكو ايجاد نمي كردم.

hamid1988
یک شنبه 13 تیر 1389, 12:22 عصر
من استقبال می کنم:چشمک:
منم علاقه ی زیادی به فروشگاه الکترونیک دارم اما امان از دست این سبد خرید!

mohsen.nsb44
یک شنبه 13 تیر 1389, 12:35 عصر
من استقبال می کنم:چشمک:
منم علاقه ی زیادی به فروشگاه الکترونیک دارم اما امان از دست این سبد خرید!
شما كه علاقه داري يه بسم الله بگو و شروع كن به اموزش ساخت فروشگاه انلاين .:چشمک::تشویق:
لطفا به زبان سي شارپ 2005 و اسكيو ال سرور 2005.:لبخندساده:

hamid1988
یک شنبه 13 تیر 1389, 14:55 عصر
شما كه علاقه داري يه بسم الله بگو و شروع كن به اموزش ساخت فروشگاه انلاين .:چشمک::تشویق:
لطفا به زبان سي شارپ 2005 و اسكيو ال سرور 2005.:لبخندساده:
سفارش دیگه ای ندارین؟:لبخند:
مشکل من در فروشگاه اینترنتی فقط سبد خریدشه، هرچی مطالب دوستان و یا مطالب دیگه ای که در مورد سبد خرید وجود داره رو می خونم بازم برام مبهمه.
اگه دوستانی که در این زمینه تجربه دارن بهمون کمک می کردند خیلی عالی میشد.
دو تا آموزش برات میذارم بخون یادبگیر بعد به ما هم یاد بده!:لبخند:
نکته ی دیگه اینکه برو رو دات نت 4، 5 سال از دنیا عقبی برادر!

لینک I (http://HamidRahbar.com/Temp/E-shop.rar)
لینک II (http://HamidRahbar.com/Temp/E-shop2.rar)

salehbagheri
یک شنبه 13 تیر 1389, 21:57 عصر
معمولا در برنامه نویسی، قبل از شروع کار باید یه تصویر ذهنی از پروژه و روش کار اون ایجاد کرد و سپس بر اساس اون شروع به فعالیت نمود.

برای حفظ این تصویر ذهنی اون رو بر روی کاغذ یا هر چیز دیگه ای وارد میکنند تا بعد بشه دوباره روش کار کرد. (در مورد Design Pattern ها جستجو کنید)

ما در اینجا میخواهیم یه فروشگاه آنلاین بسازیم.

به چه چیزهایی نیاز داریم؟
1. محصول
2. مشتری
3. سبد خرید

یک مشتری چگونه میتواند خرید کند؟
1. ابتدا محصول خود را جستجو میکند
2. آن را به سبد خرید انتقال میدهد
3. مبلغ آن را پرداخت میکند
4. محصول برای او ارسال میشود

خب حالا یک محصول چگونه ایجاد میشود؟
1. یک کالا توسط مدیر سایت ایجاد و در معرض دید عموم قرار میگیرد.

یک گروه کالا دارای چه خصوصیاتی می باشد؟
1. نام کالا
2. گروه کالا
3. قیمت
4. مقدار تخفیف مجاز
5. تعداد کالای موجود در انبار
6. تعداد کل

مثال:
1. نام کالا: تی شرت با مارک جام جهانی 2010
2. نام گروه کالا: پوشاک
3. قیمت: 10000
4. تخفیف: 20%
5. تعداد موجود: 50 عدد
6. کل: 100 عدد

سبد خرید چیست؟
سبد خرید وسیله ای هست که مشتری، کالاها و محصولاتی را که مایل به خرید آنهاست در آن جمع آوری میکند.
اینترنت که یک فضای مجازی هست، طبیعتاً سبد خرید نیز به مکانی از حافظه اطلاق میشود که کالاها در ان جمع آوری شده است.
این حافظه معمولا Cookie، Sesion یا ... هست.

چگونه در سبد خرید محصول قرار دهیم؟
برای این کار کافیست نام محصول را در Cookie ذخیره کنیم.

حال که مشتری کالاهای خود را انتخاب کرده چه کارکنیم؟
کافیست مشتری وارد صفحه ای شود که قادر باشد محتویات Cookie را لیست کند.
حال که نام محصولات را داریم میتوانیم قیمت آنها را نیز داشته باشیم. پس از چند جمع و ضرب مبلغ نهایی مشخص میشود.
در اینجا دو روش در پیش داریم:
پرداخت انلاین:
مشتری را به صفحه پرداخت بانک منتقل میکنیم. اگر پرداخت موفق بود لیستی از نام محصولات را همراه با نام و آدرس و مشخصات مشتری در Database ذخیره میکنیم.
پرداخت از طریق پست:
کافیست نام محصولات را به همراه نام و نشان مشتری در Database ذخیره کنیم.

چگونه محصولات رو به دست مشتری برسانیم؟
برای این مورد باید صفحه ای ایجاد کنیم که لیست خرید ها را نشان دهد.
سپس محصولات خریداری شده را بسته بندی کرده و به نشانی مشتری ارسال میکنیم.

------------------------

این در واقع تئوری یک فروشگاه آنلاین بود. چون طراح یک فروشگاه آنلاین تصویر ذهنی خاصی از فروشگاه ندارد بنابراین نمی تواند آن را بسازد و این سوالات پیش می آید.

بخش عملی اش بر عهده خودتون! چرا که در برنامه نویسی ساده ترین بخش، همین کدنویسی اش هست.

blackcats
یک شنبه 13 تیر 1389, 22:21 عصر
سلام من تا حدودی با این سناریو آشنا بودم تنها مشکلم پرداخت هزینه است به چه طریقی میشه پول رو پرداخت کرد؟
بانک مثل سامان آیا صفحات از قبل طراحی شده رو به ما معرفی میکنه که ما فقط لینکشو تو سایتمون بزاریم.
من فقط با این قسمتش مشکل دارم!!!!!

hamid1988
یک شنبه 13 تیر 1389, 22:42 عصر
بانک مثل سامان آیا صفحات از قبل طراحی شده رو به ما معرفی میکنه که ما فقط لینکشو تو سایتمون بزاریم.
بانک سامان (یا بانکهای دیگه) خودشون مستندات نحوه ی پیاده سازی رو میدن (به وبسایت بانک سامان مراجعه کنید).
مستندات بانک پاسارگاد (http://www.hamidrahbar.com/temp/passargad.pdf) رو براتون میذارم.
میشه بپرسم سبد خرید رو چگونه پیاده سازی کردید؟

salehbagheri
یک شنبه 13 تیر 1389, 22:52 عصر
میشه بپرسم سبد خرید رو چگونه پیاده سازی کردید؟

پیاده سازی سبد خرید خیلی ساده هست! نمیدونم چرا دوستان با این بخش خیلی مشکل دارند؟

سبد خرید در واقع کلاسی هست که دارای چهار متد Add, Update,Delete و Get هست که بر روی داده های داخل Cache پردازش دارند. همین!

hamid1988
یک شنبه 13 تیر 1389, 23:09 عصر
پیاده سازی سبد خرید خیلی ساده هست! نمیدونم چرا دوستان با این بخش خیلی مشکل دارند؟
والا من هرجا که در مورد سبد خرید مطالعه کردم از روش خاصی استفاده شده (Cookie، Session، Class، Cache و..) برای همین آدم میمونه که از کدومش استفاده کنه!
مثلاَ در کتاب Apress از کد زیر برای CartItem استفاده شده:


using System.Data;
using System.Web;
using System.Data.SqlClient;
using System.Collections.Generic;
namespace Wrox.Commerce
{
[Serializable]
public class CartItem
{
private int _productID;
private string _productName;
private string _productImageUrl;
private int _quantity;
private double _price;
private double _lineTotal;
public void New()
{
}
public void New(int ProductID, string ProductName,
string ProductImageUrl, int Quantity, double Price)
{
_productID = ProductID;
_productName = ProductName;
_productImageUrl = ProductImageUrl;
_quantity = Quantity;
_price = Price;
_lineTotal = Quantity * Price;
}
public int ProductID
{
get
{
return _productID;
}
set
{
_productID = value;
}
}
public string ProductName
{
get
{
return _productName;
}
set
{
_productName = value;
}
}
public string ProductImageUrl
{
get
{
return _productImageUrl;
}
set
{
_productImageUrl = value;
}
}
public int Quantity
{
get
{
return _quantity;
}
set
{
_quantity = value;
}
}
public double Price
{
get
{
return _price;
}
set
{
_price = value;
}
}
public double LineTotal
{
get
{
return _quantity * _price;
}
}
}
}و این کد برای Shopping Card



[Serializable]
public class ShoppingCart
{
private DateTime _dateCreated;
private DateTime _lastUpdate;
private List<CartItem> _items;
public ShoppingCart()
{
if (this._items == null)
{
this._items = new List<CartItem>();
this._dateCreated = DateTime.Now;
}
}
public List<CartItem> Items
{
get
{
return _items;
}
set
{
_items = value;
}
}
public void Insert (int ProductID, double Price, int Quantity,
string ProductName, string ProductImageUrl )
{
int ItemIndex = ItemIndexOfID(ProductID);
if (ItemIndex == -1)
{
CartItem NewItem = new CartItem();
NewItem.ProductID = ProductID;
NewItem.Quantity = Quantity;
NewItem.Price = Price;
NewItem.ProductName = ProductName;
NewItem.ProductImageUrl = ProductImageUrl;
_items.Add(NewItem);
}
else
{
_items[ItemIndex].Quantity += 1;
}
_lastUpdate = DateTime.Now;
}
public void Update(int RowID, int ProductID, int Quantity,
double Price)
{
CartItem Item = _items[RowID];
Item.ProductID = ProductID;
Item.Quantity = Quantity;
Item.Price = Price;
_lastUpdate = DateTime.Now;
}
public void DeleteItem(int rowID )
{
_items.RemoveAt(rowID);
_lastUpdate = DateTime.Now;
}
private int ItemIndexOfID(int ProductID )
{
int index=0;
foreach (CartItem item in _items)
{
if (item.ProductID == ProductID)
{
return index;
}
index += 1;
}
return -1;
}
public double Total
{
get
{
double t=0;
if (_items == null)
{
return 0;
}
foreach (CartItem Item in _items)
{
t += Item.LineTotal;
}
return t;
}
}
}
یکم گیج کنندست!

mohsen.nsb44
دوشنبه 14 تیر 1389, 09:04 صبح
دوستان به عنوان تاپيك لطفا توجه كنيد اموزش گام به گام لطفا از ابتدا شروع كنيد يه دفعه نپريد به سبد خريد .
لطفا گام به گام از اول پيش بريد تا افراد مبتدي مثل بنده هم از علم شما بهره ببرند از اقاي salehbagheri (http://barnamenevis.org/forum/member.php?u=39960) هم تشكر مي كنم كه دارند كمك مي كنند فقط اگه لطفا از اول همانطور كه مسئله رو تشريح كردين جلو برين بي نهايت ممنون مي شم دوستاني كه مشكل دارند در سبد خريد لطفا صبر داشته باشند وقتي به سبد خريد رسيد سوالات خود رو بپرسند..

mohsen.nsb44
دوشنبه 14 تیر 1389, 12:40 عصر
دوست عزيز اقاي salehbagheri (http://barnamenevis.org/forum/member.php?u=39960) اين تاپيك بالاي 200 بيننده داشته اگه لطف كنين ادامه بدين ممنون مي شم

Sadebodan
دوشنبه 14 تیر 1389, 19:40 عصر
سفارش دیگه ای ندارین؟:لبخند:
مشکل من در فروشگاه اینترنتی فقط سبد خریدشه، هرچی مطالب دوستان و یا مطالب دیگه ای که در مورد سبد خرید وجود داره رو می خونم بازم برام مبهمه.
اگه دوستانی که در این زمینه تجربه دارن بهمون کمک می کردند خیلی عالی میشد.
دو تا آموزش برات میذارم بخون یادبگیر بعد به ما هم یاد بده!:لبخند:
نکته ی دیگه اینکه برو رو دات نت 4، 5 سال از دنیا عقبی برادر!

لینک I (http://HamidRahbar.com/Temp/E-shop.rar)
لینک II (http://HamidRahbar.com/Temp/E-shop2.rar)

سلام دوست عزیز؛ کل فصل های این لینک دومی رو ندارین لطف کنید بذارین؟؟:قلب:

hamid1988
دوشنبه 14 تیر 1389, 21:54 عصر
سلام دوست عزیز؛ کل فصل های این لینک دومی رو ندارین لطف کنید بذارین؟؟:قلب:
http://barnamenevis.org/forum/showthread.php?t=154855&highlight=%DA%A9%D8%AA%D8%A7%D8%A8+Asp%E2%80%8E.Ne t

Sadebodan
سه شنبه 15 تیر 1389, 13:24 عصر
خیلی عالی بود.ممنون!یه همچین کتابی واسه asp.net 3 رو هم اگه لینک داشتین لطف کنید بذارین.
بازم ممنون.

mohsen.nsb44
سه شنبه 15 تیر 1389, 13:34 عصر
سلام خدمت همه دوستان يك پيغام خصوصي براي اقاي salehbagheri (http://barnamenevis.org/forum/member.php?u=39960) فرستادم و ايشان فرمودند كه در مسافرت هستند به محض اينكه برگشتند به ادامه مباحث خواهند پرداخت .:لبخندساده:

medalion_girl
سه شنبه 15 تیر 1389, 15:51 عصر
سلام دوستان
اين كارت خريد اشك منم درآورده
لطفاً راهنمايي كنيد
راستي اون كدي كه از كتاب wrox نوشتيد براي اينه كه شي ها رو توي پروفايل ذخيره مي كنه.
كساني كه از امكانات asp.net مثل پروفايل استفاده نمي كنند با يه فكر ديگه اي بكنن .

hamid1988
سه شنبه 15 تیر 1389, 20:02 عصر
سلام خدمت همه دوستان يك پيغام خصوصي براي اقاي salehbagheri (http://barnamenevis.org/forum/member.php?u=39960) فرستادم و ايشان فرمودند كه در مسافرت هستند به محض اينكه برگشتند به ادامه مباحث خواهند پرداخت .:لبخندساده:
خدا خیرش بده، اگه این کارو بکنه همه (بچه های این تاپیک) رو مدیون خودش میکنه:قلب:



اون كدي كه از كتاب wrox نوشتيد براي اينه كه شي ها رو توي پروفايل ذخيره مي كنه.
كساني كه از امكانات ASP.NET مثل پروفايل استفاده نمي كنند با يه فكر ديگه اي بكنن .
مشکل همین جاست. کتابا بیشتر رو امکانات Asp.Net تکیه کردن در حالی که اکثر برنامه نویسا از روش خودشون استفاده می کنن.

medalion_girl
چهارشنبه 16 تیر 1389, 12:22 عصر
من مي خوام اطلاعات كارت خريد كابراي بي نام رو توي كوكي ذخيره كنم . يعني productID و orderDate رو بريزم تو كوكي . وقتي كاربر login كرد يا عضو شد ، دكمه ثبت رو براش فعال كنم . كاربر كه ثبتو كليك كرد اطلاعات رو توي جدول مربوطه در بانك ذخيره كنم .
حالا چند تا سوال :
1)چه طوري چند تا productID و OrderDate مختلف رو بريزم تو يه كوكي ؟
2)حالا روي سيستمي كه كوكي ذخيره شده ، اگه كاربر ديگه اي بياد مي تونه از همون كوكي استفاده كنه!
چه كار كنم ؟
لطفاً اگه راه بهتري بلديد راهنمايي كنيد .

hamid1988
چهارشنبه 16 تیر 1389, 13:58 عصر
من مي خوام اطلاعات كارت خريد كابراي بي نام رو توي كوكي ذخيره كنم .
اگه کاربر کوکی مرورگر رو غیر فعال کرده باشه به مشکل بر می خورید، البته ممکنه بگید که در این صورت از کاربر میخام کوکی مرورگرش رو فعال کنه که در این صورت 2 حالت پیش میآد:
1- کاربر دانش لازم جهت فعال سازی کوکی رو داره و به توصیه ی شما گوش میده.
2- کاربر دانش لازم جهت فعال سازی کوکی رو نداره و مجبور به لغو خرید میشه.
به نظر من تعداد دسته ی دوم خیلی بیشتر از دسته ی اول هست.



1)چه طوري چند تا productID و OrderDate مختلف رو بريزم تو يه كوكي ؟
از کلید استفاده کنید.
مثال:


yourCockie.Values.Add("ProductID1", "OrderDate1");
yourCockie.Values.Add("ProductID2", "OrderDate2");



حالا روي سيستمي كه كوكي ذخيره شده ، اگه كاربر ديگه اي بياد مي تونه از همون كوكي استفاده كنه!
چه كار كنم ؟
اگه کاربر خرید رو تا مرحله ی آخر انجام بده در این صورت شما کوکی را Expire می کنی و دیگه کوکی وجود نخواهد داشت که کاربر دیگه بخاد ازش استفاده کنه.
اما اگه کاربر خرید رو نیمه تمام رها کنه و کاربر دیگه بیاد پشت همون سیستم بشینه و بخاد از فروشگاه شما خرید کنه سبد خرید کاربر قبلی رو می بینه که به نظر من، اشکال خاصی پیش نمیآد!

medalion_girl
پنج شنبه 17 تیر 1389, 21:19 عصر
با تشكر
كد من اينه :

HttpCookie shoppingCookie = null ;
if (Request.Cookies["ShoppingCard"] != null)
{
shoppingCookie.Values.Add(Int32.Parse(Request.Quer yString["ProductID"]).ToString(), DateTime.Now.ToString());
}
else
{
shoppingCookie = new HttpCookie("ShoppingCard");
Response.SetCookie(shoppingCookie);
shoppingCookie.Expires = DateTime.Now.AddDays(1);

}
ولي جواب نمي ده . قسمت اول شرط هميشه برقراره.
روش هاي مختلفو امتحان كردم اما نتونستم. چند تا كتاب هم داشتم ، سر زدم و لي چيزي پيدا نكردم .
اگه مي شه در مورد بازيابي ProductID ها و OrderDate هاي مختلفي كه تو كوكي هست ، براي ذخيره تو بانك ، هم راهنمايي كنيد .

mohsen_namad
پنج شنبه 17 تیر 1389, 22:13 عصر
فکر کنم این بدردت بخوره :http://barnamenevis.org/forum/showthread.php?p=1034556&posted=1#post1034556

hamid1988
پنج شنبه 17 تیر 1389, 23:05 عصر
كد من اينه :

HttpCookie shoppingCookie = null ;
if (Request.Cookies["ShoppingCard"] != null)
{
shoppingCookie.Values.Add(Int32.Parse(Request.Quer yString["ProductID"]).ToString(), DateTime.Now.ToString());
}
else
{
shoppingCookie = new HttpCookie("ShoppingCard");
Response.SetCookie(shoppingCookie);
shoppingCookie.Expires = DateTime.Now.AddDays(1);

}

ولي جواب نمي ده . قسمت اول شرط هميشه برقراره.
روش هاي مختلفو امتحان كردم اما نتونستم. چند تا كتاب هم داشتم ، سر زدم و لي چيزي پيدا نكردم .
اگه مي شه در مورد بازيابي ProductID ها و OrderDate هاي مختلفي كه تو كوكي هست ، براي ذخيره تو بانك ، هم راهنمايي كنيد .
شما چرا فقط آی دی و تاریخ خرید رو ذخیره می کنید؟
تعداد کالا، نوع کاربر (عضو یا مهمان) و... رو چجوری بدست میارین؟


فکر کنم این بدردت بخوره :http://barnamenevis.org/forum/showthread.php?p=1034556&posted=1#post1034556این لینک در مورد Session هست، اگه در سبد خرید از Session استفاده بشه و کاربر قبل از تایید خرید، از مرورگرش خروج کنه سبد خرید به کلی پاک میشه.

medalion_girl
جمعه 18 تیر 1389, 15:40 عصر
این لینک در مورد Session هست، اگه در سبد خرید از Session استفاده بشه و کاربر قبل از تایید خرید، از مرورگرش خروج کنه سبد خرید به کلی پاک میشه
چه كار كنم ؟:گریه:
اين ليست كه نبايد string باشه . به نظرم بايد از نوع يه كلاسي باشه كه فيلدهاي id ، Date و ... داره . هر شي براي يك كالايي كه درخواست مي كنيم . تو كوكي مي تونيم يه ليست از اشيا رو ذخيره و بازيابي كنيم ؟

شما چرا فقط آی دی و تاریخ خرید رو ذخیره می کنید؟
تعداد کالا، نوع کاربر (عضو یا مهمان) و... رو چجوری بدست میارین؟
نگران نباشيد دوست عزيز . اول بدونم اين جريان كوكي چي شد ، به فكر اونم هستم .

hamid1988
جمعه 18 تیر 1389, 16:14 عصر
اين ليست كه نبايد string باشه .

کدوم لیست؟



اول بدونم اين جريان كوكي چي شد ، به فكر اونم هستم .
جریان کوکی رو که گفتم، برای مطالعه بیشتر به این (http://barnamenevis.org/forum/showthread.php?t=19490) لینک هم میتونید مراجعه کنید.



به فكر اونم هستم .
میشه فکرتون رو با ما هم Share کنید؟!