<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?
PHP Bilenlere Sorum Var
5
●141
- 20-10-2020, 23:07:10
- 20-10-2020, 23:10:26PHP 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:09anladığı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Ö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;