Foros del Web » Programando para Internet » PHP »

Campo obligatorio con sendmail

Estas en el tema de Campo obligatorio con sendmail en el foro de PHP en Foros del Web. Hola a todos. He puesto en el apartado de contacto un formulario con la funcion sendmail. Funciona perfectamente, aquí lo dejo: Contacto.html Código HTML: <form ...
  #1 (permalink)  
Antiguo 06/10/2008, 09:30
 
Fecha de Ingreso: enero-2008
Mensajes: 73
Antigüedad: 16 años, 3 meses
Puntos: 2
Campo obligatorio con sendmail

Hola a todos. He puesto en el apartado de contacto un formulario con la funcion sendmail. Funciona perfectamente, aquí lo dejo:

Contacto.html
Código HTML:
<form action="send.php" method="post" class="Estilo6">
      <div align="left">
        <p class="Estilo33">Nombre y Apellidos:<br />
            <input type="text" name="nombre" size="40" maxlength="30" />
            <br />
          Email:<br />
          <input type="text" name="email" size="40" maxlength="30" />
          <br />
          <span class="Estilo10">T&iacute;tulo:</span><br />
          <input type="text" name="asunto" size="40" maxlength="30" />
          <br />
          Texto del email:<br />
          <textarea name="texto" cols="30" rows="5"></textarea>
          <br />
          <input name="submit" type="submit" value="ENVIAR" />
        </p>
        </div>
    </form> 
send.php
Código PHP:
<?
if (isset($email)):
# la dirección electrónica a la que enviar el email
$target="tumailmail.com";
mail($target,$asunto,"\nNombre: ".$nombre."\nE-Mail: ".$email."\nTítulo: ".$asunto."\n\n".$texto);
endif;
?>
El problema es que quiero que el email sea un campo requerido, es decir, que sino escribes el mail no te deje enviarlo. He estado buscando por el foro pero todo lo que encuentro es para otras formas de envio.

Gracias de antemano. un saludo!
  #2 (permalink)  
Antiguo 06/10/2008, 09:54
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Respuesta: Campo obligatorio con sendmail

Que tal hemilioguerra, la función isset() determina si una variable esta o no definida independientemente que tenga o no un valor, puedes utilizar la función empty(), para determinar si esta o no vacia la variable que envias en este caso email, prueba así tu código
Código PHP:
<?php 
if(!empty($_POST['email'])){ 
$email $_POST['email'];
# la dirección electrónica a la que enviar el email 
$target="tumailmail.com"
mail($target,$asunto,"\nNombre: ".$nombre."\nE-Mail: ".$email."\nTítulo: ".$asunto."\n\n".$texto); }
?>
Aparte de esto te recomiendo que valides el mail, puedes encontrar información al respecto en las FAQ'S del foro.


Saludos.
__________________
"SELECT * FROM Mujeres WHERE situacion NOT IN ('CASADAS','CON HIJOS','ATORMENTADAS','CUASI-ENNOVIADAS') AND personalidad <> 'INTENSA'"
  #3 (permalink)  
Antiguo 06/10/2008, 10:01
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Campo obligatorio con sendmail

Hola hemilioguerra,

La comparación es la misma que estas usando, pero te recomendaria usar $_POST['email'], junto con empty() para que verifiques si viene la variable y no esta vacia.

Saludos.
  #4 (permalink)  
Antiguo 06/10/2008, 11:23
 
Fecha de Ingreso: enero-2008
Mensajes: 73
Antigüedad: 16 años, 3 meses
Puntos: 2
Respuesta: Campo obligatorio con sendmail

Muchas gracias Carlojas y GatorV. He probado el código que me dejaste Carlojas pero lo que consigo con eso es que si no escribe el mail, no lo envia, pero no muestra ningún error, es decir, te manda igual a send.php por lo que al no mostrar ningún error el usuario piensa que el mail ha sido enviado.

Muchas gracias de todas formas
  #5 (permalink)  
Antiguo 06/10/2008, 11:32
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Respuesta: Campo obligatorio con sendmail

Juega con la instrucción if().

Código PHP:
<?php  
if(!empty($_POST['email'])){  
$email $_POST['email']; 
# la dirección electrónica a la que enviar el email  
$target="tumailmail.com";  
mail($target,$asunto,"\nNombre: ".$nombre."\nE-Mail: ".$email."\nTítulo: ".$asunto."\n\n".$texto); } 
else{
echo 
"Debe digitar el mail";
echo 
"<a href=Contacto.html>Volver</a>";
exit();}
?>
Saludos.
__________________
"SELECT * FROM Mujeres WHERE situacion NOT IN ('CASADAS','CON HIJOS','ATORMENTADAS','CUASI-ENNOVIADAS') AND personalidad <> 'INTENSA'"
  #6 (permalink)  
Antiguo 15/10/2008, 08:07
 
Fecha de Ingreso: enero-2008
Mensajes: 73
Antigüedad: 16 años, 3 meses
Puntos: 2
De acuerdo Respuesta: Campo obligatorio con sendmail

Muchas gracias Carlojas! Ya me funciona perfecto
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 23:54.