Вашият формуляр onubmit изглежда грешно. onubmit трябва да бъде javascript функция не е php файл . ако трябва да изпратите php файл, трябва да използвате action атрибут на form . в момента сте го дали като report.php . може да се наложи да го промените на yearpdf.php или пренасочване в report.php
РЕДАКТИРАНЕ 1:
проблемът е, че извиквате window.open който отваря URL адрес, но не изпраща вашата входна стойност. така че първия път нищо няма да се случи. но все пак на следващия window.open или при следващото опресняване има променливата на сесията от report.php и по този начин извлича данните. можете да следвате някои опции
- поставете кода на report.php, който да обработи подаването в yearpdf.php и променете формуляра "действие" на yearpdf.php. и премахнете функцията onclick
- ИЛИ Пренасочване от report.php към yearpdf.php в края на report.php. За пренасочване можете да използвате
header('Местоположение:https://www.yoursite.com/ yearpdf.php ');. и премахнете функцията onclick - ИЛИ модифицирайте своя JavaScript код, за да изпратите нещо подобно
window.open("yearpdf.php" + "?course_year=" + document.getElementsByName("course_year")[0].value));код> и променете своя$r1=$_SESSION['year1'];към$r1=$_GET['course_year'];в годинаpdf.php
Вариант 1 е препоръчителният и прост начин. Вариант 2 е излишен и няма да работи, ако изведете html преди пренасочване. и опция 3 създава ненужен прозорец.