Ver Mensaje Individual
  #9 (permalink)  
Antiguo 20/08/2018, 19:11
tuadmin
 
Fecha de Ingreso: abril-2006
Mensajes: 583
Antigüedad: 18 años
Puntos: 120
Respuesta: formulario error

bueno bueno, primero, los errores que te muestran, es por que en el array que tiene $_POST , no existen los elementos, nombre ,email, etc. puede que tu formulario HTML, este enviando los datos VIA GET y no POST, o que los datos, esten con otro nombre,

RECUERDA!!! php es sensible a MAYUSCULAS y minusculas,
el error "NOTICE undefined index: x " es por que como indica, que la variable $_POST no contiene ningun INDICE de nombre x
ojo, tienes que poner atencion en los mensajes de ERROR, y dar prioridad a los errores que estan Primeros, y fijarte, la primera palabra que los sigue

en tu caso son del tipo NOTICE , como indica no es error grave y puede funcionar tu script, existen muchos tipos de Error, ten en cuenta, ello

ahora para futuras consultas, prueba primero, en googlear el mensaje de error.

tienes 2 caminos para solventar el ERROR

IGNORARLOS o Validarlos darles un valor Predeterminado si no existiese

primero el mas comun IGNORARLOS , el simbolo @ , indica que si hay error este no lo mostrara en pantalla , no es recomendable, por que luego podria no funcionar algo, y no sabrias que lo causa
Código PHP:
Ver original
  1. <?php
  2.  
  3. $nombre = @$_POST ["nombre"];
  4. $email = @$_POST ["email"];
  5. $telefono = @$_POST ["telefono"];
  6. $asunto = @$_POST ["asunto"];
  7. $thank="gracias.html";
  8. $menssage = "
  9. nombre:".$nombre."
  10. email:".$email."
  11. telefono:".$telefono."
  12. asunto:".$asunto."";
  13. //FIX error de escritura
  14.  $message = $menssage;
  15. if (mail ($email , "formulario",$message)) Header ("location: $thank");

el siguiente es darles un valor que caso de no existir
Código PHP:
Ver original
  1. <?php
  2. //   SI EXISTE $_POST ["nombre"] ? ENTONCES EL VALOR SERA $_POST["nombre"] : DE LO CONTRARIO EL VALOR SERA 'anonimo'
  3. $nombre = isset($_POST ["nombre"]) ? $_POST ["nombre"] :'anonimo';
  4. $email = isset($_POST ["email"]) ? $_POST ["email"] :'';
  5. $telefono = isset($_POST ["telefono"]) ? $_POST ["telefono"] :'0000000';
  6. $asunto = isset($_POST ["asunto"]) ? $_POST ["asunto"] :'sin asunto';
  7. $thank="gracias.html";
  8.  
  9. $menssage = "
  10. nombre:".$nombre."
  11. email:".$email."
  12. telefono:".$telefono."
  13. asunto:".$asunto."";
  14. //FIX error de escritura
  15.  $message = $menssage;
  16.  
  17. if (mail ($email , "formulario",$message)) Header ("location: $thank");

ahora ya luego sera creatividad tuya como organizarte y simplificar el codigo o validar la informacion