Nie wiem o co Ci chodzi. PHP wygeneruje Ci nowy kod tylko, gdy strona zostanie przeładowana a zatem:
a ) naciśniejsz guzik odśwież
b ) wybierzesz jakiś link
c ) wybierzesz submit w formularzu
Opcja c) wcale nie oznacza, że wyświetli się inna strona - możesz nadal wyświetlić tą samą, ale ją przeładować (np. jak sie rejestrujesz gdzieś i nie podasz loginu, to masz ten sam formularz plus info, że nie ma loginu podane).
Jeżeli jednak pole ma być dodane dynamicznie - to tylko JavaScript pomoże. Można pole ukryć, lub tworzyć, to już jak tam chcesz (jeżeli checkbox włącza/wyłącza, to lepiej ukryć). Polecam jQuery, wtedy można zrobić tak:
<script>
$(document).ready(function(){
$("#zaznacz").click(function(){
if ( $('input[id=szk2]').is(':checked') ) {$("#ukryty").show();} else { $("#ukryty").hide(); }
});
});
</script>
<input type="checkbox" id="zaznacz"/>
<div style="display: none;" id="ukryty"><input type="text"></div>