Su formulario onsubmit
parece estar mal onsubmit
debe ser una función javascript function
no es un php file
. si necesita enviar un archivo php, debe usar action
atributo de form
. actualmente lo has dado como report.php
. es posible que deba cambiarlo a yearpdf.php
o redirigir en el report.php
EDICIÓN 1:
el problema es que estás llamando a window.open
que abre una url pero no envía su valor de entrada. así que la primera vez no pasará nada. pero sin embargo en el siguiente window.open
o en la próxima actualización, existe la variable de sesión de report.php y, por lo tanto, recupera los datos. puedes seguir algunas opciones
- coloque el código de report.php para procesar el envío en yearpdf.php y cambie el formulario "acción" a yearpdf.php. y eliminar la función onclick
- O Redirigir de report.php a yearpdf.php al final de report.php. Para redirigir, puede usar
header('Location: http://www.yoursite.com/yearpdf.php');
. y eliminar la función onclick - O modifique su código JavaScript para enviar algo como esto
window.open("yearpdf.php" + "?course_year=" + document.getElementsByName("course_year")[0].value));
y cambia tu$r1=$_SESSION['year1'];
a$r1=$_GET['course_year'];
en añopdf.php
La opción 1 es la forma recomendada y sencilla. La opción 2 es una sobrecarga y no funcionará si genera cualquier html antes de la redirección. y la Opción 3 produce una ventana innecesaria.