У меня есть форма, которая должна отправить дату через 3 раскрывающихся окна. В настоящее время у меня есть форма отправки себя, а затем проверка, чтобы убедиться, что дата действительна.
if(isset($_POST['submit']))
{
$day = $_POST['day'];
$year= $_POST['year'];
$month=$_POST['month'];
$date= $year.'-'.$month.'-'.$day;
//**********************************Validate Date
if (!checkdate($month,$day,$year)){
echo $error= "Invalid Date Please Renter";
}
}
Мне любопытно, как мне следует перейти к следующей странице с переменными, если дата действительна. Я думаю, header('Location: nextpage.php');
и используя Session()
? это работает, но мне интересно, является ли это ПРАВИЛЬНЫМ способом.
Поскольку это больше касается лучших/общих практик, здесь можно решить, какой метод следует использовать, когда:
Почему вы не проверяете ввод на другой странице, и если вход недействителен, перенаправите пользователя обратно в форму. Если вход действителен, они уже находятся на "другой" странице. Вы можете использовать $ _POST ['day'] и т.д., Не устанавливая сеанс. Я считаю, что этот способ безопаснее, чем хранить его внутри сеанса.
Вы также можете вызвать функцию заголовка следующим образом:
header('Location: nextpage.php?year='.$year.'&month='.$month.'&day='.$day);
Таким образом, вам не нужно беспокоиться о сеансе, и данные будут переданы через параметры $ _GET.
header
иsession
вы не ошибетесь!