• 20-10-2020, 23:04:55
    #1
    <input id="1tarih" type="date" name="tarih1">

    Örneğin 10 gün eklemek istiyorum. Formdan bu şekilde aldığım tarihi PHP ile nasıl gün eklerim?
  • 20-10-2020, 23:07:10
    #2
    https://dcblog.dev/quick-way-to-add-...nutes-with-php
    Bu size yardımcı olacaktır.
  • 20-10-2020, 23:10:26
    #3
    PHP sitesini incelersen hem daha çok bilgi edinir hemde bu fonksiyonu tam anlamıla öğrenebilirsin. Birçok konuyu buradan tahminen aşacaksındır.

    https://www.php.net/manual/tr/function.strtotime.php
  • 20-10-2020, 23:32:09
    #4
    anladığım kadarıyla form kısmında girilen tarihi sınırlamak istiyorsunuz bunun için min max kullanabilirsiniz aşağıdaki gibi
    <input type="date" name="tarih" min="2020-10-20" max="2020-10-30">

    ama sürekli uğraşmak istemezseniz hep o gün + 10 gün olsun derseniz aşağıda yazdığım kodu kullanabilirsiniz
    //Şuanki Günün Tarihini ALır
    $baslangic = date('Y-m-d');
    //10 Gün Sonranın Tarihini Alır
    $bitis = date('Y-m-d', strotime('+10 day'));
    <input type="date"  name="tarih" min="<?php echo $baslangic ?>" max="<?php echo $bitis? >">
    Yukarıdaki örnekte otomatik olarak o günün tarihini alıp max 10 gün sonra seçilebilecek düzeye getirir
    ------------------
    Ama Unutmayın ki post sırasında da bunu kontrol ettirmelisiniz

    onu da şöyle açıkliyim

    gelen post verisini tarih adlı bir değişkende kontrol ettirip yakaladığınızı varsayarak
    $bugun = date('Y-m-d');
    $ongun = date('Y-m-d', strotime('+10 day'));
    if(strtotime($bugun) < strtotime($tarih) || strtotime($tarih) > strtotime($ongun)){
    echo 'Geçersiz Bir Zaman Aralığı Gönderdiniz';
    die();
    }
    // Kodun Devamı
    Herhangi bir IDE kullanmadan r10 şablonundan yazdım herhangi bir hatam varsa kusura bakmayın
  • 20-10-2020, 23:39:14
    #5
    Öncelikle tarihin doğru bir formatta girilmesi gerekiyor örneğin dd.mm.YYYY formatında girilen bir tarihe 10 gün ekleyebilirsiniz. Örnek kod;
    $tarih = $_POST["tarih1"];
    $tarih = strtotime($tarih); // unix time formatina donusturduk
    $tarih = $tarih + 10*24*60*60; // 10 gün ekledik
    $tarih = date("d.m.Y", $tarih); // tekrardan tarih formatına çevirdik
    echo $tarih;
    Alternatif yöntem
    $tarih = $_POST["tarih1"];
    $tarih = strtotime("+10 day", strtotime($tarih)); // 10 gün ekledik
    $tarih = date("d.m.Y", $tarih); // tekrardan tarih formatına çevirdik
    echo $tarih;
    Alternatif #2
    $tarih = $_POST["tarih1"];
    $tarih = new DateTime($tarih);
    $tarih->modify('+10 day'); // 10 gün ekledik
    $tarih = $tarih->format('d.m.Y'); // tekrardan tarih formatına çevirdik
    echo $tarih;
  • 20-10-2020, 23:59:34
    #6
    Öncelikle kullandığınız input türünün tüm tarayıcılarda desteklendiğini kontrol ettiniz mi ?