Ciao, javascript/ajax in sostanza sono la stessa cosa. Se vuoi usare solo PHP eseguirai un submit, farai quel che devi al DB e volendo salvando in sessione potrai poi determinare se il bottone dovrà essere allo stato iniziale o come in fase pronto per il download.
Per quale motivo non puoi/vuoi usare ajax ma solo javascript(senza ajax)?