Autor Tema: Formulario Mail (empty)  (Leído 670 veces)

Desconectado Wold

  • PHPer@ Fijo
  • ***
  • Mensajes: 139
  • Karma: 2
  • Sexo: Masculino
    • Ver Perfil
Formulario Mail (empty)
« en: 09 de Octubre de 2012, 16:00:18 pm »
Buenas ! Tengo un problema y es que el empty no comprueba bien las funciones algo e echo mal vamos! haber si me podéis ayudar por favor
Citar
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Formulario carlos</title>
</head>
<body>
<?
if(isset($_POST['enviar'])){
       if (!empty($_POST['nombre']) || !empty($_POST['mail']) || !empty($_POST['npedido']) || !empty($_POST['mensaje'])) {
        $to = "carlos.zuriguel@boutiquesecret.com";
        $nombre = $_POST["nombre"];
        $mail =  $_POST["mail"];
        $asunto = $_POST["asunto"];
        $npedido = $_POST["npedido"];
        $mensaje = $_POST["mensaje"];
        $mensaj = "Numero de pedido '$npedido' Asunto: '$asunto' Mensaje: '$mensaje' ";

        $headers = "MIME-Version:1.0;r/n";
        $headers .= "Content-type: text/html; charset=iso-8859-1;\r\n";
        $headers .= "From: $mail /r/n";
        $headers .= "To: $to; /r/n Subject:$asunto /r/n";
        if(mail($to,$asunto,$nombre,$mensaj)){
      echo "Mensaje Enviado Correctamente";
     }else{
     echo "Fallo de envio "; }
      } else {
            echo "Faltan campos por rellenar";
   }
} else {
?>
<form action="carlos.php" method="POST">
       <input name="nombre" type="text" id="nombre" value="Nombre">
       <br />
       <input name="mail" type="text" id="mail" value="E-mail"> <br />
       <input name="npedido" type="text" id="npedido" value="Numero Pedido"><br />
  <select name="asunto" id="asunto">
    <option value="Informacion sobre una venta actua">Informacion sobre una venta actual</option>
    <option value="Devolucion">Devolucion</option>
    <option value="Otra consulta">Otra consulta</option>
  </select><br />
       <textarea name="mensaje" cols="" rows="Mensaje"></textarea> <br />
<input type="submit" value="Enviar" name="enviar">
</form>
<? } ?>
</body>
</html>
« Última modificación: 09 de Octubre de 2012, 19:04:58 pm por Wold »
:)

Comunidad PHPeros

Formulario Mail (empty)
« en: 09 de Octubre de 2012, 16:00:18 pm »

Desconectado Wold

  • PHPer@ Fijo
  • ***
  • Mensajes: 139
  • Karma: 2
  • Sexo: Masculino
    • Ver Perfil
Re:Formulario Mail (empty)
« Respuesta #1 en: 10 de Octubre de 2012, 16:32:35 pm »
Nadie me puede ayudar :'( ?
:)

Desconectado -Pituko-

  • PHPero Experto
  • *****
  • Mensajes: 954
  • Karma: 20
  • Sexo: Masculino
  • ¡Hala Madrid!
    • Ver Perfil
Re:Formulario Mail (empty)
« Respuesta #2 en: 10 de Octubre de 2012, 22:33:31 pm »
Nadie me puede ayudar :'( ?
¿Te da algún error o simplemente no funciona?

Desconectado Wold

  • PHPer@ Fijo
  • ***
  • Mensajes: 139
  • Karma: 2
  • Sexo: Masculino
    • Ver Perfil
Re:Formulario Mail (empty)
« Respuesta #3 en: 11 de Octubre de 2012, 02:31:58 am »
¿Te da algún error o simplemente no funciona?

El formulario funciona pero lo puedes enviar vacio relleno como quieras el empty no comprueba tendre mal los else o algo no lo encuentro xd
:)

Desconectado -Pituko-

  • PHPero Experto
  • *****
  • Mensajes: 954
  • Karma: 20
  • Sexo: Masculino
  • ¡Hala Madrid!
    • Ver Perfil
Re:Formulario Mail (empty)
« Respuesta #4 en: 12 de Octubre de 2012, 00:29:15 am »
El formulario funciona pero lo puedes enviar vacio relleno como quieras el empty no comprueba tendre mal los else o algo no lo encuentro xd
El error esta en el IF, te explico:
Estas comprobando si algún campo esta relleno, es decir, si tan sólo un campo se rellena el formulario es "válido".

Reemplázalo por esto:
Código: [Seleccionar]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Formulario carlos</title>
</head>
<body>
<?
if(isset($_POST['enviar'])){
       if (!empty($_POST['nombre']) && !empty($_POST['mail']) && !empty($_POST['npedido']) && !empty($_POST['mensaje'])) {
        $to = "carlos.zuriguel@boutiquesecret.com";
        $nombre = $_POST["nombre"];
        $mail =  $_POST["mail"];
        $asunto = $_POST["asunto"];
        $npedido = $_POST["npedido"];
        $mensaje = $_POST["mensaje"];
        $mensaj = "Numero de pedido '$npedido' Asunto: '$asunto' Mensaje: '$mensaje' ";

        $headers = "MIME-Version:1.0;r/n";
        $headers .= "Content-type: text/html; charset=iso-8859-1;\r\n";
        $headers .= "From: $mail /r/n";
        $headers .= "To: $to; /r/n Subject:$asunto /r/n";
        if(mail($to,$asunto,$nombre,$mensaj)){
      echo "Mensaje Enviado Correctamente";
     }else{
     echo "Fallo de envio "; }
      } else {
            echo "Faltan campos por rellenar";
   }
} else {
?>
<form action="carlos.php" method="POST">
       <input name="nombre" type="text" id="nombre" value="Nombre">
       <br />
       <input name="mail" type="text" id="mail" value="E-mail"> <br />
       <input name="npedido" type="text" id="npedido" value="Numero Pedido"><br />
  <select name="asunto" id="asunto">
    <option value="Informacion sobre una venta actua">Informacion sobre una venta actual</option>
    <option value="Devolucion">Devolucion</option>
    <option value="Otra consulta">Otra consulta</option>
  </select><br />
       <textarea name="mensaje" cols="" rows="Mensaje"></textarea> <br />
<input type="submit" value="Enviar" name="enviar">
</form>
<? } ?>
</body>
</html>

Saludos ;).

Desconectado Wold

  • PHPer@ Fijo
  • ***
  • Mensajes: 139
  • Karma: 2
  • Sexo: Masculino
    • Ver Perfil
Re:Formulario Mail (empty)
« Respuesta #5 en: 19 de Octubre de 2012, 11:13:23 am »
Funciona bien gracias, una pregunta que tengo yo ahora se puede hacer que el campo de pedido solo salga si doy a la opción devolución y informe sobre otra consulta?
:)

Desconectado SoyJoaquin.

  • PHPero Master
  • ******
  • Mensajes: 2.737
  • Karma: 131
  • Sexo: Masculino
  • ส้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้ส้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้ Problem?
    • Ver Perfil
    • IsoMap
Re:Formulario Mail (empty)
« Respuesta #6 en: 19 de Octubre de 2012, 14:05:02 pm »
Funciona bien gracias, una pregunta que tengo yo ahora se puede hacer que el campo de pedido solo salga si doy a la opción devolución y informe sobre otra consulta?

Hablamos de otro mundo, Javascript.
Twitter: @JoakoM010