Monje: quita cuanto antes esa línea que te marca
spider_boy, no lo sé, pero quizás esa sea la razón de que tu código falle. Eso en realidad no comprueba nada, ya que
mail no es una variable sino un nombre de
función y no la estás invocando (la comprobación deberías hacerla
antes, cuando invocas la
función). No sé qué hará
PHP en ese caso, quizás tome "
mail" como una constante (
string) o quizás tire
error fatal, pero por las dudas quita toda esa línea. Sé que cuando uno programa quiere ver funcionando todo cuanto antes, pero es evidente que el código te lo has copiado de algún lado y no lo terminas de entender. Así será mucho más difícil corregir los errores y tardarás mucho más en hacer funcionar el código. Disculpa que lo diga con cierta crudeza, es sólo para evitar que te frustres cuando veas que las soluciones no "funcionan mágicamente". Tanto la alternativa de
spider_boy como la de
zapt142 son válidas y funcionan. Pero la de
zapt142 no es en
PHP sino en
JavaScript, que es un lenguaje del
lado del cliente y que por lo tanto es fácil de burlar para un hacker. Mi recomendación es que implementes ambas soluciones. ¡Suerte!