Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/11/2008, 13:59
Desprogramadror
 
Fecha de Ingreso: mayo-2008
Mensajes: 7
Antigüedad: 15 años, 11 meses
Puntos: 0
Problemas con validador de formulario

Buenas tardes,

decido consultarles a ustedes porque ya he buscado todas las vias que me permiten mis conocimientos y no doy con ello. No soy programador, pero intento entender el código que encuentro por ahí. A partir de esto me monto yo mis conjeturas...

He hecho este formulario en php donde al final tiene un validador. Buscando encontré cómo validar al menos que los campos no queden vacíos. Necesitaría comprobrar todos los campos y que no quedara ninguno vacío.

Tambien tengo un problema y es que me gustaríua que el mensaje de " el mail es obligatorio y el tno es obligatorio" ( que son los dos que de momento he intentado validar) sólo aparecieran cuando éstos no están rellenos y no como ocurre ahora, que aparecen impresos por defecto al final del formulario.

Les agradecería me echaran un cable. Muchas gracias.


Pd.-Si sugieren que me replantee rehacer el formulario de otra forma, estaré encantado de practicar sus sugerencias.




Código PHP:

<?php

$mail_destinatario 
'[email protected]';        

    

echo 
'<form action="?" method="post">
<label for="nombre">Nombre:</label>
    <input type="text" name="nombre" size="50" maxlength="50"><br/>
<label for="email">Email:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</label>
    <input type="text" name="email" size="50" maxlength="50"><br/>
    <label for="tfno">Tfno:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</label>
    <input type="text" name="tfno" size="10" maxlength="12"><br/>
<label for="asunto">Asunto:&nbsp;</label>
    <input type="text" name="asunto" size="50" maxlength="60"><br/>
<label for="mensaje">Mensaje:</label>
    <textarea name="mensaje" cols="15" rows="3"></textarea><br/>
<label for="n_personas">Número de personas&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</label>
    <select name="n_personas" id="n_personas">
    <option value="01">1</option>
                <option value="02">2</option>
                <option value="03">3</option>
                    </select><br />
    <label for="n_habitaciones">Número de habitaciones</label>
    <select name="n_habitaciones" id="n_habitaciones">
    <option value="01">1</option>
                    </select><br />
    <label for="dia_llegada"> Dia de llegada:&nbsp;&nbsp;</label>
    <select name="dia_llegada" id="dia_llegada">
                <option value="01">1</option>
                <option value="02">2</option>
                              </select>
        <label for="mes_llegada"></label>              
            <select name="mes_llegada" id="mes_llegada">
                <option value="01">Enero</option>
                                           </select>              
        <label for="ano_llegada"></label>              
              <select name="ano_llegada" id="ano_llegada">
                <option value="2008">2008</option>
                <option value="2009">2009</option>
                <option value="2010">2010</option>
                               </select><br />
             <!--dia salida -->
     <label for="dia_salida"> Dia de salida: &nbsp;&nbsp;</label>
         <select name="dia_salida" >
                <option value="01">1</option>
                <option value="02">2</option>
                <option value="03">3</option>
                               </select>
        <label for="mes_salida"></label>              
                <select name="mes_salida">
                  <option value="01">Enero</option>
                  <option value="02">Febrero</option>
                          </select>
        <label for="ano_salida"></label>              
                <select name="ano_salida">
                <option value="2008">2008</option>
                  </select>    <br /><br /><br />
<label for="enviar">
<input type="submit" name="enviar" value="Enviar consulta"></label>
</form><p>&nbsp;<p><br>'

if (empty(
$HTTP_POST_VARS['email']))
{
  echo 
"el mail es obligatorio ";

if (empty(
$HTTP_POST_VARS['tfno']))
{
  echo 
"el tfno es obligatorio";

else
{
if (isset (
$_POST['enviar'])) {  $headers .= "From: ".$_POST['email'].  "\r\n"
   if ( 
mail ($mail_destinatario$_POST['asunto'], 
   
"Nombre y apellidos : ".$_POST['nombre']."\n
   Teléfono:"
.$_POST['tfno']."\n
   Mail:"
.$_POST['mail']."\n
   Asunto: "
.$_POST['asunto']."\n
   Numero de personas: "
.$_POST['n_personas']."\n
   Numero de habitaciones: "
.$_POST['n_habitaciones']."\n
   Fecha llegada: "
.$_POST['dia_llegada']."/".$_POST['mes_llegada']."/".$_POST['ano_llegada']."\n
   Fecha salida: "
.$_POST['dia_salida']."/".$_POST['mes_salida']."/".$_POST['ano_salida']."\n
   Mensaje :\n "
.$_POST['mensaje'], $headers )) 
   echo 
'<p>Su mensaje ha sido enviado correctamente. 
   Gracias por contactar con nosotros</p>'
;
   else echo 
'<p>Error al enviar el formulario. 
   Por favor, inténtelo de nuevo mas tarde.</p>'
;  
}
}
?>