Seu formulário
onsubmit
parece estar errado. no envio
deve ser uma função javascript
não é um arquivo php
. se você precisar enviar para o arquivo php, você deve usar action
atributo de form
. atualmente você o deu como report.php
. pode ser necessário alterá-lo para yearpdf.php
ou redirecionar no report.php
EDIÇÃO 1:
o problema é que você está chamando o
window.open
que abre um URL, mas não envia seu valor de entrada. então na primeira vez nada vai acontecer. mas no próximo window.open
ou na próxima atualização, há a variável de sessão do report.php e assim recupera os dados. você pode seguir algumas opções - coloque o código do report.php para processar o submit em yearpdf.php e mude o formulário "action" para yearpdf.php. e remova a função onclick
- OU Redirecione de report.php para yearpdf.php no final de report.php. Para redirecionar você pode usar
header('Location:http://www.yoursite.com/ anopdf.php ');
. e remova a função onclick - OU modifique seu código JavaScript para enviar algo assim
window.open("yearpdf.php" + "?course_year=" + document.getElementsByName("course_year")[0].value)); e altere seu
$r1=$_SESSION['year1'];
para$r1=$_GET['course_year'];
em yearpdf.php
A opção 1 é a forma recomendada e simples. A opção 2 é uma sobrecarga e não funcionará se você gerar qualquer html antes do redirecionamento. e a Opção 3 produz uma janela desnecessária.