Para solventar el problema .. debes redireccionar a otra pàgina o a si misma (pero indicando otro "estado") cada vez que ejecutas tu proceso de insercciòn de datos o actualizaciòn y similares:
Código PHP:
if($nombre<>""){
$nombre = strtoupper($nombre);
EjecutaSQL("UPDATE cat_colaboradores SET nombre='$nombre' WHERE idcolaborador=$cual") ;
header ("Location: ".$_SERVER['PHP_SELF']);
exit;
}
Tienes que hacer la misma redirecion tras cada "EjecutaSQL()" que tu haces con un INSERT o UPDATE .. Debes tener presente que NO puedes tener nada de "HTML" o salida en general (espacios .. etc) antes de llamar a tu header().
Al redireccionar .. se "pierden" las variables que puedas tener .. asì que no se volverán a re-enviar y por ende no se volverá a validar las variables que tu validas y que pasaran las validaciones por qué se re-envian los mismos datos.
Un saludo,