как заблокировать прошлые даты в php и на входе?

<input id="datepicker" name="datepicker" class="calendar" />

Вот мой сценарий:

 <script>

$(function() {
$( "#datepicker" ).datepicker({ minDate: 0});
});
</script>

здесь php

if( $date < strtotime( date('m/d/Y', $time )) ) {
echo "<script>alert('You can't put past day..'); </script>"; }

Я хочу, чтобы пользователи ошибочно вводили прошедшую дату или как знают … но это не работает .. я не могу заблокировать .. как я могу заблокировать ввод прошлых дат пользователями? я хочу, чтобы только пользователи могли войти сегодня n следующих дней .. поэтому я хочу фильтровать с вводом в php.

0

Решение

strtotime() не принимает форматную строку, функция, которую вы хотите использовать DateTime::createFromFormat. Возвращает DateTime объект, а не отметка времени, поэтому вам нужно сравнить его с DateTime:

$date = $_POST['datepicker'];
if (DateTime::createFromFormat('m/d/Y', $date) < new DateTime()) {
echo "<script>alert('You can't put past day..'); </script>";
} else {
// code to insert into database
}

DEMO

2

Другие решения

я исправил, может быть, это поможет любому, кто нуждается, как я ..

<input id="datepicker" name="datepicker" class="calendar" /><br />


<script>
$(function() {
$( "#datepicker" ).datepicker({ minDate: 0});
});
</script>

$year=$_POST['year'];
$date=$_POST['datepicker'];
$timer=$_POST['timer'];

$time=time();


$start_data = date('m/d/Y', time() - (86400));

$now=date('m/d/Y', $time);


if(  $date  < $start_data ){
echo "<script>alert('Failed..'); </script>";

}

спасибо за вашу помощь еще раз ..

-1

По вопросам рекламы [email protected]