Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/06/2011, 21:52
Avatar de kahlito
kahlito
Colaborador
 
Fecha de Ingreso: marzo-2003
Ubicación: En el Estrecho y el mar
Mensajes: 2.936
Antigüedad: 21 años, 1 mes
Puntos: 65
Problema validando envio de correo con función mail

Hola.

Estoy haciendo pruebas en un formulario donde trato de validar dos campos (uno el nombre comercial y otro la casilla de verificación de condiciones) y me gustaría que el email solo se enviase si las dos casillas estuviesen completas.

El formulario que pruebo es este:

Código HTML:
<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post" id="formulario-contacto" class="formulario-contratar-online">
                <fieldset class="fieldset-formulario-contratar-online">
                <legend class="legend-formulario-contratar-online">Rellene los siguientes campos</legend>
                <!--<div class="etiquetas-formulario">-->
                <label for="nombrecomercial">* Nombre comercial:<br />  
                <input type="text" id="nombrecomercial" name="nombrecomercial" value="<?php if(isset($_POST['nombrecomercial']) && $_POST['nombrecomercial'] == "") {echo "Incompleto";} else {echo $_POST['nombrecomercial'];} ?>" size="40" />
                </label><br />                                
                <label for="condiciones-contratacion" class="label-condiciones-contratacion"><input type="checkbox" name="condiciones" <?php if (isset($_POST['condiciones']) && $_POST['condiciones'] != "") { echo  " checked='checked'"; }?>      
                 />               
                  <a href="politica-de-privacidad.php" class="condiciones-contratacion">He leído la política de privacidad</a><a href="#" class="condiciones-contratacion">y</a></span><a href="/condiciones-de-uso.php" class="condiciones-contratacion">acepto las condiciones de uso.</a>                     
                  </label>
                <div id="enviar-formulario-contratar-online">
                <input type="submit" value="Enviar" class="boton-enviar" name="enviar" /><br />
                <span class="nota-formulario">* Campo requerido</span>
                </div>                
            	</fieldset>
        	</form> 
y el código php que utilizo este:

Código PHP:
Ver original
  1. <?php              
  2.             if(isset($_POST['enviar']))
  3.                 {  
  4.                     if ($_POST['condiciones'] == "") { echo  "Marque las condiciones<br>"; }
  5.                     elseif ($_POST['condiciones'] != "")
  6.                     {echo  "Condiciones aceptadas<br>";}
  7.                     if ($_POST['nombrecomercial'] == "Incompleto" or $_POST['nombrecomercial'] == "")
  8.                     {echo "Rellene el nombre comercial <br />";}   
  9.                     else {     
  10.                     //------------------ Aquí preparo la función mail          
  11.                     $para  = '[email protected]';
  12.                     // asunto
  13.                     $asunto = 'Formulario de contacto GDT';
  14.                     // mensaje
  15.                     $mensaje = "Nombre comercial: " .$_POST['nombrecomercial']. "\n";                   ;                      
  16.                     // Enviarlo
  17.                     mail($para, $asunto, $mensaje, $cabaceras); }                                                          
  18.                 }              
  19.             ?>

Si envio el correo con el nombre comercial completo se envia, pero si tiene la casilla ['condiciones'] desactivada también.

¿Como puedo hacer que solo se envíe con las dos casillas rellenas?

Saludos.

Última edición por kahlito; 03/06/2011 a las 22:26 Razón: Código nuevo