bueno fijate en esta parte haces la misma instruccion dos veces de diferentes manera pero seguidas
Código PHP:
$row = mysql_fetch_assoc($resultado); hiciste este paso dos veces xq??
while($row=mysql_fetch_assoc($resultado))hiciste este paso dos veces xq??
{
$cod_profesor = $row['cod_profesor'];
}
otra cosa no recuerdo bien el funcionamiento de $PHP_SELF pero creo que es que te da la misma pagina si estas enviando las variables aki y estas haciendo la consulta del cod_profesor por el mismo codigo en blanco que estas mandando que resultado te daria?? o en otra pagina llenas la variable de session?? bueno revisa prueba suerte