Vale, pero el error solo te lo da cuando se carga la primera vez el formulario, no despues de dar al boton. Y lo del mensaje, lo decia porqueen una respuesta anterior ponias que te volvia a salir el formulario.
Si te sale el mensaje, es que si se ejecuta el if (puedes volver a poner el @).
Siguiente paso, mirar si MySQL da algun mensaje de error. Para eso usamos la funcion mysql_error(). Haz:
Código PHP:
$resultado = mysql_query($sql) or die("Error en $sql <br>MySQL dice: ".mysql_error());
Esto te dara el mensaje de error de MySQL, si es que hay alguno.
Lo pones y nos cuentas.
Saludos.