Hi!
Jedes Formular bekommt eine eindeutige "Kennung". Zu dieser Kennung gibt es das Ergebnis und die Rechenaufgabe, letztere bekommt der Besucher zu sehen. Serverseitig ist hinterlegt: die "Kennung" und das Ergebnis. Und natürlich fest "verdrahtet" wie alle drei Dingens zusammenhängen.
So eine "Kennung" nennt sich Session-ID, und die "Verdrahtung" ist einfach das Speichern in der $_SESSION.
Reinventing the square wheel
Der ganze Thread ist unnötig kompliziert. f1 und f2 kann man machen, man kann den Kram auch anders aufteilen. Ausgabe kann per echo erfolgen, muss aber nicht unbedingt, ?>HTML<?php ist für größere Blöcke eventuell leserlicher. Die BOM spielt nur eine Rolle, wenn man den HTTP-Header verändern will - da aber jeder Fall hier als 200 OK mit dem gleichen MIME-Type ausgeliefert wird, besteht dazu kein Grund.
Das Problem besteht schlicht darin, dass beim Überprüfen der Eingabe keine neuen Zufallszahlen erzeugt werden dürfen, weil die natürlich so gut wie nie mit den alten übereinstimmen. Man muss sich die alten merken. Lösung: Session.
MfG
Alexander