Il tuo modulo onsubmit
sembra essere sbagliato. onsubmit
dovrebbe essere una javascript function
non un php file
. se devi inviare un file php dovresti usare action
attributo di form
. attualmente lo hai dato come report.php
. potrebbe essere necessario cambiarlo in yearpdf.php
o reindirizza nel report.php
EDIT 1:
il problema è che stai chiamando window.open
che apre un URL ma non invia il valore di input. quindi la prima volta non accadrà nulla. ma comunque al prossimo window.open
o al prossimo aggiornamento, c'è la variabile di sessione da report.php e quindi recupera i dati. puoi seguire alcune opzioni
- metti il codice di report.php che per elaborare l'invio in yearpdf.php e cambia il modulo "azione" in yearpdf.php. e rimuovere la funzione onclick
- OPPURE Reindirizzamento da report.php a yearpdf.php alla fine di report.php. Per il reindirizzamento puoi utilizzare
header('Location: http://www.yoursite.com/yearpdf.php');
. e rimuovere la funzione onclick - OPPURE modifica il tuo codice JavaScript per inviare qualcosa come questo
window.open("yearpdf.php" + "?course_year=" + document.getElementsByName("course_year")[0].value));
e cambia il tuo$r1=$_SESSION['year1'];
a$r1=$_GET['course_year'];
in yearpdf.php
L'opzione 1 è il modo consigliato e semplice. L'opzione 2 è un sovraccarico e non funzionerà se si genera un codice HTML prima del reindirizzamento. e l'opzione 3 produce una finestra non necessaria.