Моя кирпичная стена заключается в том, что я запускаю этот код на 2 страницах.
session_start()
$selectbegindate = $_POST['begindate'];
$selectenddate = $_POST['enddate']; // End date
$begindate = new DateTime($selectbegindate);
$enddate = new DateTime($selectenddate);
Форма:
<form action = "index.php" method = "post"><!-- Begin date select form -->
Begin Date: <input type = "date" id = "begindate" name = "begindate">
End date: <input type = "date" id = "enddate" name = "enddate">
<input type = "submit" name = "submit" value = "Submit">
</form
Сразу под формой и на тестовой 2-й странице у меня есть:
<?php
if (isset($submit)) {
$_SESSION["begindate"] = $_GET["begindate"];
$_SESSION["enddate"] = $_GET["enddate"];
}
?>
Первая страница: я могу отправить дату начала и дату окончания через HTML-форму, и моя страница работает должным образом, выполняя операторы SQL, создавая диаграммы и т. д. Моя проблема возникает, когда я перехожу на тестовую страницу, на которой есть приведенный выше код, Я получил:
Notice: Undefined variable: begindate in C:\xampp\htdocs\dashboard\sessionstest.php on line 14
Строка 14 в тестовом коде выше.
Я уверен, что это дубликат PHP: «Примечание: неопределенная переменная», «Примечание: неопределенный индекс» и «Примечание: неопределенное смещение», но я думаю, что мне нужно другое, поскольку пользователь может изменить переменные на следующей странице.
Я бы хотел использовать SESSION, так как он кажется наиболее жизнеспособным.
Я попытался понять isset и isempty, но не смог применить его к тому, что мне нужно.
Следует ли мне использовать что-нибудь в ссылках a href в разделе html?
Спасибо за любую помощь.
Отредактировано 10.06.2018, чтобы включить код формы.
каков код вашей формы, в которой вы отправляете данные на эту страницу?
Какое у вас действие формы ...? означают POST или GET
Есть много способов обмена переменными между разными страницами, вы можете использовать сеансы, файлы cookie, классы php, включать скрипт php на обе страницы через include('common.php') и т. д.
как только ваша ошибка возникла из-за $_SESSION["begindate"] = $_GET["begindate"], вы увидите сообщение об ошибке «неопределенный индекс», а не «неопределенная переменная».
Итак, опубликованная переменная никогда не переходит с первой страницы на вторую, верно?






Сохраните данные в сеансе, тогда они будут доступны на нескольких страницах.