Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Dudas Formulario

Estas en el tema de Dudas Formulario en el foro de PHP en Foros del Web. Hola! Estoy trabajando con una página que tiene un formulario. He ido adaptándolo a lo que necesitaba, pero no tengo mucha idea de PHP y ...
  #1 (permalink)  
Antiguo 25/05/2013, 11:28
 
Fecha de Ingreso: mayo-2013
Mensajes: 36
Antigüedad: 10 años, 11 meses
Puntos: 0
Dudas Formulario

Hola!
Estoy trabajando con una página que tiene un formulario. He ido adaptándolo a lo que necesitaba, pero no tengo mucha idea de PHP y en algunas cosas me atasco.

Necesito 4 cosas que no sé hacer:

- Configurar el asunto del email
- Configurar el remitente del email
- Configurar bien los campos obligatorios. Ahora mismo solo están obligatorios el nombre, el teléfono y el email, pero quiero poner también obligatorio el código.
- Dejar un único aviso de error que salte cuando esos campos no estén rellenos "Por favor, introduce al menos su nombre, código de invitación, email y teléfono"

Os copio el código PHP:

Código PHP:
Ver original
  1. <?php
  2. if(isset($_POST['action'])) { // Checking for submit form
  3. $my_emails  = array("[email protected]"); // Your email address
  4. if($_POST['action']=='add') {
  5. $email   = trim(strip_tags(addslashes($_POST['email'])));
  6. $name    = trim(strip_tags(addslashes($_POST['name'])));
  7. $phone   = trim(strip_tags(addslashes($_POST['phone'])));
  8. $direccion   = trim(strip_tags(addslashes($_POST['direccion'])));
  9. $codigo  = trim(strip_tags(addslashes($_POST['codigo'])));
  10. $pattern    = '/^[^\W][a-zA-Z0-9_]+(\.[a-zA-Z0-9_]+)*\@[a-zA-Z0-9_]+(\.[a-zA-Z0-9_]+)*\.[a-zA-Z]{2,4}$/';
  11. if($phone==""){
  12. echo "error|Por favor, introduce tu número de teléfono";
  13. }
  14. if($email != "" && $name != "" && $name != "") {
  15. if(preg_match($pattern, $email)) {
  16. $messages   = "Has recibido una nueva inscripción" . "\r\n" . "\r\n" . "Nombre: " . $name . "\r\n" . "Código Invitación: " . $codigo . "\r\n" . "Teléfono: " . $phone . "\r\n" . "Email: " . $email . "\r\n" . "Dirección: " . $direccion;
  17. $headers = "From: " . $email . "\r\n";
  18. foreach($my_emails as $my_email) mail($my_email, $subject, $messages, $headers);
  19. echo "success| ¡Muchas gracias! En breve nos pondremos en contacto contigo";
  20. } else {
  21. echo "eerror|Por favor, introduce una dirección de email válida";  
  22. }
  23. } else {
  24. echo "error| Por favor, rellena todos los campos"; 
  25. }
  26. }
  27. } else { // Submit form false
  28. header("Location: index.html");
  29. }
  30. ?>
  #2 (permalink)  
Antiguo 25/05/2013, 12:46
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Dudas Formulario

A las 2 primeras dudas aqui te dejo el manual correspondiente http://www.php.net/manual/es/function.mail.php

Respecto a las otras 2 siguientes aqui te dejo el manual http://es1.php.net/manual/es/function.empty.php

if(!empty($variable)) es mucho mejor que usar if($variable != "")

empty comprueba las siguientes expresiones y las considera como vacias

"" (una cadena vacía)
0 (0 como un integer)
0.0 (0 como un float)
"0" (0 como un string)
NULL
FALSE
array() (un array vacío)
$var; (una variable declarada, pero sin un valor)

mientras que != ""

solo comprueba una cadena vacia


para usar una sola comprobacion

Código PHP:
Ver original
  1. if(empty($variable) | empty($variable) | empty($variable) | empty($asi_todas_las_que_quieras) )
  2. {
  3. echo'mensaje de error generico';
  4. }
  #3 (permalink)  
Antiguo 25/05/2013, 14:16
 
Fecha de Ingreso: mayo-2013
Mensajes: 36
Antigüedad: 10 años, 11 meses
Puntos: 0
Respuesta: Dudas Formulario

Mil gracias webankenovi, pero la verdad, me pierdo un poco en los dos manuales.

En cuanto a lo que me dices de empty, así venía en la plantilla y yo que no sé mucho no me atrevo a tocar.

Lo único que he hecho por mi cuenta es añadir campos y crear el mensaje que llega por email. pero de ahí no salgo... Todo lo demás me suena a chino...
  #4 (permalink)  
Antiguo 25/05/2013, 18:04
 
Fecha de Ingreso: mayo-2013
Mensajes: 36
Antigüedad: 10 años, 11 meses
Puntos: 0
Respuesta: Dudas Formulario

webankenovi, lo he conseguido.
Muchísimas gracias

Etiquetas: dudas, formulario, html
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:46.