• 15-07-2022, 10:29:20
    #1
    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));
    }
    ?>
  • 15-07-2022, 10:42:40
    #2
    Hocam 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));
        
    }
    
    ?>