Selamlar,
Giriş yapmış kullanıcının id sini nerede tutuyorsunuz ? eğer SESSİON içinde ise şu kullanımı deneyin
ayrıca WHERE kullandığınız yerde query methodu değil de prepare kullanın daha güvenli olur.
$query = $db->prepare("SELECT * FROM kullanicilar WHERE kullanicilar_kullaniciID=:id LIMIT 1");
$query->execute(array(
"id" => $_SESSION['id']
));
$row = $query->fetch(PDO::FETCH_ASSOC);
if ($row) {
print_r($row);
} else {
echo "Böyle bir kullanıcı bulunamadı!";
}
Dünya üzerinde en çok kullanılan platform wordpress ve bildiğiniz üzere oda PHP tabanlı bir uygulama. Yani PHP öldü diyenler illa ki olacaktır ve yeni nesil kodlama dillerine yönelmeni söyleyecektir. Ancak PHP 'nin de FrameWorkleri mevcut ve onlar ile çalışabiliyorsan PHP hiçbir zaman ölmez. Zaten kim tüm sistemi sadece PHP kullanarak yapıyor ki ? JS,Ajax gibi anlık etkileşim sağlayan yapılarla combine ediyolar.
Merhaba Kodunda bulunan aşağıdaki bölümde işaretlediğim yeri değiştirmen çözüm olacaktır.
if($_POST['adet'] > $urun['stok']){
echo 0;
}else{
$uniqid = $_POST['urun_id'];
$_SESSION['sepet']['urun_id'][$uniqid] = $_POST['urun_id'];
$_SESSION['sepet']['adet'][$uniqid] = $_POST['adet'];
$_SESSION['sepet']['secenek_id'][$uniqid] = 0;
$_SESSION['sepet']['key'][$uniqid] = $uniqid;
echo 2;
}
$_SESSION['sepet']['adet'][$uniqid] = $_SESSION['sepet']['adet'][$uniqid]+$_POST['adet'];
burada session 'da tuttuğun veriyi sürekli post ettiğin veri ile güncelliyorsun dolayısı ile hep 1 olarak kalacaktır. Ancak posttan gelen veriyi üstüne eklemen gerekiyor.
burayı düzenlersen sonrasında birde eksiltme için koda ihityacın olacak.
Bir küçük dip not $_POST global değişkenlerini direk kullanmamanı tavsiye ederim.
bu şekilde bir fonksiyon tanımlarsan daha güzel olur.
php
/**
- @param $name
- @return string
*/
function post($name)
{
if (isset($_POST[$name]))
return htmlspecialchars(trim($_POST[$name]));
}
Buna benzer bir işlemi yakın zamanda yapmak zorunda kaldım. Yorumlarda arkadaşlar bahsetmiş her döngüde SQL sorgusu ile yeniden veri çekmek sunucunu oldukça yoracaktır.
Önerim INNER JOIN kullanman ve verileri tek sorgu ile alıp içinde arama yaptırman yönünde olacaktır. Yada verileri parçalama şansın var ise indexlemeni kolaylaştırabilirsi.