acayip adlı üyeden alıntı: mesajı görüntüle
Arkadaşım öncelikle peşin peşin söyleyim, yazdıklarımı yanlış anlama. Kötü niyetle yazmıyorum.
Bir kaç gündür görüyorum sorularını sessionla sepet yapmaya çalışıyorsun. Ancak tam olarak bilgi sahibi olmadığından gereksiz yere uğraşıp duruyorsun. Halbuki 1 saat ayırıp tam olarak session nedir ne değildir öğrenmeye çalışsan, bu kadar uğraşmayacaktın

Kimse her konuyu bilemez tabii. hele bu konularda ben her şeyi biliyorum diye kimse iddia edemez.

Şu haliyle session kullanımın tamamıyla yanlış. Sen sadece sepet bilgilerini mi sessionda tutuyorsun da tüm sessionu foreach yapıyorsun.

Bak şimdi session diye gözünde büyütme, öncekileri unut. Sessionu bir çeşit depolama yeri olarak düşün. Veritabanı gibi.

Ne lazım bize sepet değil mi. Sepette ne olacak ürün id, ürün adı, adet vs. O zaman önce yapını kuruyorsun. Normal bir array oluşturmaktan farkı yok. Adım adım bakalım:

sayfanda ürünü sepete ekleme linki bu misal:

www.site.com/sepet.php?ne=ekle&id=11
Ne yapacağız şimdi sepet.php de. Önce id var mı bakacağız daha sonra işlem ne bakacağız, ekleyeceğiz. En basit kullanımıyla:

if($_GET['ne'] == 'ekle'){//ekleme işlemi
	//ürün bilgilerini al
	$sor = mysql_query('SELECT id, product_name ,product_description, product_price FROM products WHERE id='.$id);
	$urun = mysql_fetch_assoc($sor);	
	if(!$urun['id']) die('ürün bulunamadı');//yoksa hata ver
	$adet = 1;//ürün adeti get post vs. ilede alabilirsin birden fazla olabilecekse
	//sepete ekleyelim
	$_SESSION['sepet'][$id] = $urun;
}
Ne olmuş oldu. Gelen id le sessiona bir kayıt eklemiş olduk. Şimdi sessionda duruyor istediğimiz zaman kullanabiliriz.
Örneğin sepette göstereceksen, yine basitce yazıyorum :

foreach($_SESSION['sepet'] as $key => $val){
	echo 'ürün id :'.$val['id'];
	echo 'ürün adı :'.$val['product_name'];
	echo 'ürün açıklaması :'.$val['product_description'];
	echo 'ürün fiyatı :'.$val['product_price'];
	echo 'ürün adeti :'.$val['adet'];
}
Eğer sileceksen de, yukarıda ekle de yaptığımıza benzer şekilde:
if($_GET['ne'] == 'sil'){//silme işlemi
	if($_SESSION['sepet'][$id]){
		unset($_SESSION['sepet'][$id]);
		echo 'Ürün Silindi';
	}
}
yaparak silebiliriz. Eğer adet arttıracaksan :

$_SESSION['sepet'][$id]['adet']++;
Eksilteceksen:
$_SESSION['sepet'][$id]['adet']--;
vs. basitce halledebilirsin. Yani normal dizilerle çalışmaktan bir farkı yok gördüğün gibi. Önemli olan kafanda dizi yapısını oluşturmak. Dediğim gibi bu tek boyutlu basit bir hali. İstersen multi array olarak da kullanabilirsin. Ki ilerde mecbur kullanırsın büyük ihtimal. Çünkü ürünün farklı özellikleri olur, grubu olur, kampanyası olur, kargo bilgisi olur vs. olur da olur

Siparişleri veritabanına kaydedeceğin zaman da istersen foreach ile ayırıp kaydet. İstersen serialize et kaydet. O senin veritabanı yapına bağlı.Diyelim veritabanında Ad, Soyad, Adres, Telefon, sipariş alanın var. Sepeti istersen olduğu gibi array olarak çevirip kaydedebilirsin:
$siparis = serialize($_SESSION['sepet']);
Tekrar kullanacağın zamanda
$siparis = unserialize($siparis);
diye alabilirsin. Tabii bunu anca basit işlerde kullanabilirsin. Siparişlerin falan mail ile gönderildiği durumlarda vs.

Ama profesyonel bir şey yapıyorsan bir sipariş tablosu, bir de detay tablosu tutarsın. Sipariş tablona müşteri bilgileri ve sipariş tutarını girersin. Ordan aldığın sipariş id si ile de detay tablona ürünleri tek tek kaydedersin. Yani ilişkili tablolar şeklinde.

Uzun lafın kısası, bilhassa programlama konusunda iyi bilmediğin konuda bir şeyler yapmaya uğraşmaktansa, o konuyu öğrenmek çok daha kolay ve hızlı olur
Eline koluna sağlık hocam uğraşmışsın bu kadar Bilmemek değil öğrenmemek ayıp bayağı baktım sağa sola ama yeri geliyo çok zor şeyleri yapıyorum yeri geliyo en basit şeyleri yapamıyorum. Açıkçası çekirdek çok geniş olduğu için daha tam manasıyla kavrayamadım dili. Şu an seviye olarak Editcoder diyebilirim kendime sadece. framework öğreniyorum yavaş yavaş codeigniter'ın derslerine bakıyorum daha güzelmiş bu kadar uğraşmama gerek bile kalmıyomuş performans sıkıntısıymış, cache sıkıntısıymış, açık sıkıntısıymış kasmama gerek yokmuş

tekrar çok saol başkasınında işine yarar umarım Blog'unda PHP ile Sepet Yapımı diye paylaşırsan herkese yarar hocam veya iznin varsa alıntı yazıp konu linkini vererek ben paylaşayım