PDO ile yazarsak sorunu çözülür mü bilmiyorum ama denemek lazım:
<?php
function guvenlikKapisi($data)
{
return htmlspecialchars($data);
}
if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['tip'])) {
$_POST = array_map('guvenlikKapisi', $_POST);
if ($_POST['tip'] == 'hediye') {
if (isset($_SESSION['oturum']) && $_SESSION['oturum']) {
$user_id = $_SESSION['oturum'];
$result = $db->prepare("select * from uyeler where id=:id");
$result->bindParam(':id', $user_id, PDO::PARAM_INT);
$result->execute();
$userCount = $result->rowCount();
if ((int)$userCount > 0) {
$userDate = $result->fetch(PDO::FETCH_ASSOC);
$fark = time() - strtotime($userDate['hediyetarih']);
if($fark >= 0){
$time = time();
$guncelle = $db->prepare("UPDATE uyeler SET bakiye=bakiye+:hediyelik,hediye=1,hediyetarih=:hediyetarih where id=:id");
$guncelle->bindParam(':hediyelik', $hediyelik, PDO::PARAM_INT);
$guncelle->bindParam(':hediyetarih', $time, PDO::PARAM_STR);
$guncelle->bindParam(':id', $user_id, PDO::PARAM_INT);
$guncelle->execute();
echo 'ok';
return;
}
else{
echo 'zaten';
return;
}
}
} else {
echo 'oturum';
return;
}
}
}
Burda saçma olan şu kayıt ettiğin son tarihi getirmiyorsun ve kontrol sağlamıyorsun.
Hediyeyi hangi tablodan nasıl çekiyor göstermediğin için uygulama yapmadım.
Düzeltme : Kodu düzenledim kontrol sağlamasını yapmakta.Geçmiş olsun :)
Route yapısını incelemeye başladım öneriniz için teşekkürler ancak bahsetmek istediğim :
Kullanıcı product.php sayfası açık ve url id parametresi 11 olan değeri 12 olarak değiştirdiği zaman sayfa tekrar yükleniyor ancak link yapısında ki ürün ismi hala 11 değerininin ürün ismi kalıyor.
Yapmak istediğim tam olarak kullanıcı id değerini değiştirdiği zaman idsine eşit olan ürün ismide urlde değişicek. Nasıl bir yol izlemeliyim?
Edit: Tayfun hocam route yapısı tüm haritamı çıkardı tekrardan teşekkür ederim.
toggleClass'ı öğrendim teşekkür ederim.Mobil tarafta red classını kaldırıyor ancak animasyon hala duruyor boş bir kısıma tıklandığında animasyon kayboluyor.Css tarafında sorun galiba.