Twój formularz onsubmit wydaje się być niesłuszne. przy przesłaniu powinna być funkcją javascript nie plik php . jeśli chcesz przesłać plik php, użyj action atrybut formularza . obecnie nadałeś go jako raport.php . może być konieczna zmiana na yearpdf.php lub przekieruj w report.php
EDYCJA 1:
problem polega na tym, że wywołujesz window.open który otwiera adres URL, ale nie przesyła wartości wejściowej. więc za pierwszym razem nic się nie stanie. ale jednak w następnym window.open lub przy następnym odświeżeniu jest zmienna sesji z report.php i w ten sposób pobiera dane. możesz skorzystać z niektórych opcji
- wstaw kod report.php, który ma przetworzyć zgłoszenie, w yearpdf.php i zmień formę "action" na yearpdf.php. i usuń funkcję onclick
- LUB Przekieruj z report.php do yearpdf.php na końcu report.php. Do przekierowania możesz użyć
header('Lokalizacja:https://www.twojastrona.com/ rokpdf.php ');. i usuń funkcję onclick - LUB zmodyfikuj swój kod JavaScript, aby wysłać coś takiego
window.open("yearpdf.php" + "?course_year=" + document.getElementsByName("course_year")[0].value)); i zmień$r1=$_SESSION['rok1'];do$r1=$_GET['rok_kursu'];w yearpdf.php
Opcja 1 to zalecany i prosty sposób. Opcja 2 jest obciążeniem i nie zadziała, jeśli przed przekierowaniem wyślesz kod HTML. a opcja 3 tworzy niepotrzebne okno.