Hola, al recargar la página cuando envías el form, estás perdiendo el valor $control3 ya que se vuelve a generar. Deberías guardar el valor en una variable de session tipo esto:
Código PHP:
<?php
session_start()
if(!isset($_POST['send'])){
//alimentamos el generador de aleatorios
mt_srand (time());
$control1 = mt_rand(0,12);
mt_srand (time());
//generamos un número aleatorio
$control2 = mt_rand(2,15);
$_SESSION['control3']=$control1+$control2;
}
?>
y luego para comparar
Código PHP:
else if(trim($spamcheck) != $_SESSION['control3'])
{
$error = '<div class="errormsg">Control Spam: El resultado de la suma no es correcta! ($control1 + $control2) = ???</div>';
}