Hola de nuevo solo decir que la funcion tiene un pequeño error es mejor ponerlo asi , que verifica si la funcion retorna false que seria lo correcto , antes verificaba que si no es igual a true entraba en el if pero no es correcto hacerlo de esa manera lo correcto es verificar que retorna false que eso si es lo correcto .
Código PHP:
Ver originalif( antispam($mensaje) === false and antispam($author) === false)
{
// el comentario paso el flitro procedemos a guardarlo en la bd con la variable $mensaje, $author etc...... no uses los datos $_POST
}
else
{
// se detecto spam por lo cual no guardamos el mensaje
// redireccionamos por ejemplo
// header('location:index.php');
exit('comentario calificado como spam');
}
lo que ha cambiado es que ahora se verifica si la funciona retorna false que quiere decir que no contiene ningun palabra de la lista y si esto es asi proseguimos, no es que hubiera un error de la otra manera tambien funciona perfecto , pero correctamente deberia de ser asi.
Tambien podria ponerse de esta otra manera
Código PHP:
Ver originalif( antispam($mensaje) !== false || antispam($author) !== false)
{
// se detecto spam por lo cual no guardamos el mensaje
// redireccionamos por ejemplo
// header('location:index.php');
exit('comentario calificado como spam');
}
// proseguimos con el script
saludos y me alegro que lo hayas resuelto de momento.