hola,
1. chequea la configuración PHP del server donde estés trabajando (lo puedes hacer con un documento php que tenga phpinfo(), te devuelve todas las confs. del servidor visualmente). si register_globals está en off (lo que es más probable ya que es la config por defecto que viene con las últimas versiones de PHP), significa que no puedes acceder a variables de request como las que pones arriba. es decir, que el campo "email" no estará disponible en la variable $email, sino en $_POST['email'] -o si es en GET, $_GET['email']... esto es por una cuestíón de seguridad...
2. no tienes chequeo de seguridad en los valores introducidos por el usuario, esto te hace vulnerable a un ataque... por ejemplo, puedes chequear que la dirección de email introducida tenga la apariencia, al menos, de una dirección de email, y no una consulta SQL que te puede borrar la base de datos... para eso puedes utilizar expresiones regulares... en este foro todavía hay varios threads sobre expresiones regulares, buscalos más abajo; por ej. yo utilizo ésta para validar dirección de email:
Código PHP:
if (ereg("^[a-zA-Z0-9]+@[a-zA-Z0-9\_\-]+\.[a-zA-Z]+\.?[a-zA-Z?]*", $_POST['email'])) {
// pasa el check }
esta regexp o exp. reg. chequa que, haya caracteres o números seguidos de una arroba, seguida de caracteres alfanuméricos o "-" o "-", seguidos de un punto, etc, etc, o sea la sintaxis de un dominio, etc
lo mismo puedes hacer con el campo de nombre (un nombre debería contener solamente letras y espacios, dependiendo de lo que quieras del usuario, etc)... tienes que investigar un poco expresiones regulares
saludos