Votre formulaire onsubmit
semble avoir tort. onsubmit
devrait être une fonction javascript function
pas un php file
. si vous devez soumettre un fichier php, vous devez utiliser action
attribut de form
. actuellement vous l'avez donné comme report.php
. vous devrez peut-être le changer en yearpdf.php
ou rediriger dans le report.php
ÉDITION 1 :
le problème est que vous appelez le window.open
qui ouvre une URL mais ne soumet pas votre valeur d'entrée. donc la première fois rien ne se passera. mais cependant au prochain window.open
ou au prochain rafraîchissement, il y a la variable de session de report.php et récupère ainsi les données. vous pouvez suivre certaines options
- mettez le code de report.php qui traite la soumission dans yearpdf.php et changez le formulaire "action" en yearpdf.php. et supprimer la fonction onclick
- OU Rediriger de report.php vers yearpdf.php à la fin de report.php. Pour la redirection, vous pouvez utiliser
header('Location: http://www.yoursite.com/yearpdf.php');
. et supprimer la fonction onclick - OU modifiez votre code JavaScript pour envoyer quelque chose comme ceci
window.open("yearpdf.php" + "?course_year=" + document.getElementsByName("course_year")[0].value));
et modifiez votre$r1=$_SESSION['year1'];
à$r1=$_GET['course_year'];
dans yearpdf.php
L'option 1 est la méthode recommandée et simple. L'option 2 est une surcharge et ne fonctionnera pas si vous produisez du code HTML avant la redirection. et l'option 3 produit une fenêtre inutile.