Ditt formulär onsubmit verkar vara fel. onsubmit bör vara en javascript-funktion inte en php-fil . om du behöver skicka till php-filen bör du använda action attribut för form . för närvarande har du angett det som report.php . du kan behöva ändra den till yearpdf.php eller omdirigera i report.php
EDIT 1:
problemet är att du anropar window.open som öppnar en webbadress men inte skickar in ditt inmatningsvärde. så första gången händer ingenting. men i nästa window.open eller vid nästa uppdatering finns sessionsvariabeln från report.php och hämtar därmed data. du kan följa några alternativ
- lägg in koden för report.php för att bearbeta inlämningen i yearpdf.php och ändra formuläret "action" till yearpdf.php. och ta bort onclick-funktionen
- ELLER Omdirigera från report.php till yearpdf.php i slutet av report.php. För omdirigering kan du använda
header('Location:https://www.yoursite.com/ yearpdf.php ');. och ta bort onclick-funktionen - ELLER ändra din JavaScript-kod för att skicka något sånt här
window.open("yearpdf.php" + "?course_year=" + document.getElementsByName("course_year")[0].value)); och ändra din$r1=$_SESSION['year1'];till$r1=$_GET['kursår'];i yearpdf.php
Alternativ 1 är det rekommenderade och enkla sättet. Alternativ 2 är en overhead och fungerar inte om du matar ut någon html före omdirigering. och alternativ 3 ger ett onödigt fönster.