Merhabalar.
PHP ile hit saydırırken aylara göre yollatıyorum.
yani if(date('F')= "January") ise $id değerini $id = 1 yapıyorum.
Fakat diğer aylara atıcakmı diye denemek için, Windows umun tarihini değiştirdiğim zaman veri tabanına hiçbir sorgu attıramıyorum.
İndex.php de echo diyip kontrol yaptırdığım zaman o ayın id si ekrana basılıyor fakat yollama sayfasında ne hiçbir değer tabloma kaydedilemiyor.
Diğer aylara atıcakmı diye ölçmenin bir yolu yok mu? Hatam kodumdan kaynaklı mı yoksa PHP veya Xampp kaynaklımı?
Tablom: https://prnt.sc/F_eHeBO2YrT-
Update Sayfam:
<?php
require 'mysql.php';
if (isset($_POST['userip'])) {
if(date('F') == "January"){
$id = 1;
}
if(date('F') == "February"){
$id = 2;
}
if(date('F') == "March"){
$id = 3;
}
if(date('F') == "April"){
$id = 4;
}
if(date('F') == "May"){
$id = 5;
}
if(date('F') == "June"){
$id = 6;
}
if(date('F') == "July"){
$id = 7;
}
if(date('F') == "August"){
$id = 8;
}
if(date('F') == "September"){
$id = 9;
}
if(date('F') == "October"){
$id = 10;
}
if(date('F') == "November"){
$id = 11;
}
if(date('F') == "December"){
$id = 12;
}
$userip = $_POST['userip'];
$ay = $_POST['ay'];
$sorgu = $db->prepare("UPDATE veriler SET kullanici_ip = '".$userip."', ay = '".$ay."', wptik = wptik +1 WHERE id='".$id ."' ");
$sorgu->execute(array($id));
}
?>
Hatam Kodumdan Kanyaklı Mı?
1
●80
- 15-07-2022, 10:42:40Hocam date('F') leri tek tek kullanmak yerine
yukarıda bir değişken yapıp örneğin : $Ay=date('F'); sonra aşağıdaki iflerin hepsini $Ay== olarak kullan, Sonra hangi ayı test etmek istiyorsan
$Ay = "March"; olarak manuel yazdır o zaman test edebilirsin aşağıda kodları yapıp ekliyorum.
Bu arada tarih değiştirdiğimde veri kaydedilmiyor demişsin, aşağıda update kullanmışsın hali hazırda olan bir veriyi güncellemesi gerekiyor fakat seni tarih değiştirdiğinde $id kısmıda değişiyor böyle bir id de veri yoksa veritabanında güncelleme yapmaz. hem id yi hemde ay kısmını kullanmışsınız bunlar 2 side aynı sonucu veriyor baktığımızda veritabanında fazlalık gereksiz kullanım yapmışsınız. Birde bir sürü if kullanmanıza gerek yoktu aslında id yerine ay değişkeni ile sorgulama ve güncelleme yapabilirdiniz.
Aşağıda kodlar bakabilirsiniz.
<?php require 'mysql.php'; $Ay = date('F'); //$Ay = "March"; // bu kısım manuel kontrol etmen için if (isset($_POST['userip'])) { if($Ay == "January"){ $id = 1; } if($Ay == "February"){ $id = 2; } if($Ay == "March"){ $id = 3; } if($Ay == "April"){ $id = 4; } if($Ay == "May"){ $id = 5; } if($Ay == "June"){ $id = 6; } if($Ay == "July"){ $id = 7; } if($Ay == "August"){ $id = 8; } if($Ay == "September"){ $id = 9; } if($Ay == "October"){ $id = 10; } if($Ay == "November"){ $id = 11; } if($Ay == "December"){ $id = 12; } $userip = $_POST['userip']; $ay = $_POST['ay']; $sorgu = $db->prepare("UPDATE veriler SET kullanici_ip = '$userip', ay = '$ay', wptik = wptik +1 WHERE id='$id'"); $sorgu->execute(array($id)); } ?>