Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/06/2010, 05:47
mimetica
 
Fecha de Ingreso: agosto-2009
Mensajes: 16
Antigüedad: 14 años, 9 meses
Puntos: 0
validar formulario PHP

Buenas,

he realizado un formulario de contacto cuyos campos guardan los datos en una DDBB y a su los envían a una cuenta de correo electrónico. Quiero validar los campos de teléfono (para que solo admita números) y mail (para que solo admita una dirección de correo electrónico). El código utilizado es el siguiente:

Código PHP:
Ver original
  1. /** conexion ***************************/
  2. // conectamos a la base de datos
  3.     include("conex.php");
  4.     $link=Conectarse();
  5.     if(!$link) {
  6.     die("Error al intentar conectar: ".mysql_error());
  7. }
  8. /** fin conexion ************************/
  9.  
  10. // recogemos el ID
  11. // del registro a actualizar
  12.  
  13.       if(isset($_POST['enviar']) && $_POST['enviar'] == 'enviar'){
  14. // comprobamos que no lleguen campos vacios
  15. if( !empty( $_POST['cliente']) && !empty( $_POST['nombre']) && !empty( $_POST['apellidos']) && !empty( $_POST['nombre_em']) && !empty( $_POST['sector']) && !empty( $_POST['postal']) && !empty( $_POST['telefono']) && !empty( $_POST['mail'])  && !empty( $_POST['interes']) && !empty( $_POST['otros']) && !empty( $_POST['consulta'])     ){
  16.  
  17. // creamos las variables
  18.  
  19. // y le asignamos sus valores
  20. $id = $_POST['id'];
  21.    $cliente=$_POST['cliente'];
  22.    $fecha=date('Y-m-d');
  23.    $nombre=$_POST['nombre'];
  24.    $apellidos=$_POST['apellidos'];  
  25.    $nombre_em=$_POST['nombre_em'];
  26.    $sector=$_POST['sector'];
  27.    $postal=$_POST['postal'];
  28.    $telefono=$_POST['telefono'];
  29.    $mail=$_POST['mail'];
  30.  if (is_array($_POST['interes']))
  31.    {
  32. $interes=implode(',',$_POST['interes']);
  33.     }
  34.    $otros=$_POST['otros'];
  35.    $consulta=$_POST['consulta'];
  36.  
  37.  
  38.  
  39. mysql_query("insert into formulario (cliente, fecha,nombre,apellidos,nombre_em,sector,postal,telefono,mail,interes,otros,consulta) values ('$cliente','$fecha','$nombre','$apellidos','$nombre_em','$sector','$postal','$telefono','$mail','$interes','$otros','$consulta')",$link)
  40. or die(mysql_error());
  41. echo "<div id='formulario'><p align='center'><br />Gracias por su consulta. En breve nos pondremos en contacto con usted.<div id='formulario'><p align='center'><br />";
  42.  
  43. }else{
  44. echo "<div id='formulario'><p align='center'><br /> Debe rellenar todos los campos.</p></div>"  ;
  45. }
  46. }else{
  47. // mostramos el mensaje
  48. echo "<p>".$mensaje."</p>";
  49. ?>
  50.  
  51.  
  52.  
  53.  
  54.  
  55.    <div id="formulario">
  56.      <form name="form1" id="form1" method="post" action="<?php $_SERVER['PHP_SELF']; ?>">
  57.       <table>
  58.      <tr><td><h2>Particular<input type="radio" name="cliente"class="fondo_gris" id="particular"  value="particular" />
  59.         Empresa<input name="cliente" type="radio" class="fondo_gris" id="empresa"  value="empresa" checked />
  60.       </h2></td>        <td><tr></td></tr>
  61.     <tr><td>Nombre</td><td><input name="nombre" type="text" class="input"id="nombre" size="10"/></td>
  62.     <tr><td>Apellidos</td><td><input name="apellidos" type="text" class="input" id="apellidos" size="28" /></td>
  63.      <tr><td>Nombre de la empresa</td><td><input name="nombre_em" type="text" class="input" id="nombre_em" /></td></tr>
  64.       <tr><td>Sector</td><td><select name="sector" size="1" class="inputsector" id="sector">
  65.     <option value="administracion">Administración pública</option>
  66.     <option value="agricultura">Agricultura y animales</option>
  67.     <option value="alimentacion">Alimentación</option>
  68.     <option value="construccion">Construcción e inmobiliaria</option>
  69.     <option value="hosteleria">Hostelería y restauración </option>
  70.     <option value="industria">Industria</option>
  71.     <option value="teleco">Ingeniería, telecomunicaciones e informática</option>
  72.     <option value="medios">Medios de comunicación, artes gráficas y visuales</option>
  73.     <option value="mobiliario">Mobiliario y accesorios para el hogar</option>
  74.     <option value="ocio">Ocio, cultura y deportes</option>
  75.     <option value="profesiones">Profesiones, artes y oficios</option>
  76.     <option value="salud">Salud y belleza</option>
  77.     <option value="seguridad">Seguridad y defensa</option>
  78.     <option value="servicios">Servicios a las empresas</option>
  79.     <option value="textil">Textil, calzado y complementos </option>
  80.     </select></td></tr>
  81.        <tr><td>Dirección Postal</td><td><input name="postal" type="text" class="input" id="postal" size="30" /></td></tr>
  82.         <tr><td>Teléfono de contacto</td><td><input name="telefono" type="text" class="input" id="telefono" size="9" maxlength="9" /></td></tr>
  83.         <tr>
  84.           <td>Correo electrónico </td>
  85.           <td><input name="mail" type="text" class="input" id="mail" size="30" /></td></tr>
  86.        <tr><td><h2>Servicios de interés</h2></td></tr>
  87.        <tr><td> Diseño<input type="checkbox" name="interes[]3"  value="diseno" /></td></tr>
  88.        <tr><td> Vídeo <input type="checkbox" name="interes[]2" value="video" /></td></tr>
  89.        <tr><td> Web<input type="checkbox" name="interes[]" value="web" /></td></tr>
  90.        <tr><td class="otros">       Otros
  91.          </td>
  92.          <td><input name="otros" type="text" class="input" id="otros" size="20" /></td></tr>
  93.        <tr>
  94.    <td>Consulta</td>
  95.          <td><textarea name="consulta" cols="30" class="inputconsulta" id="consulta"></textarea>
  96.  
  97.       <tr><td></td><td><input name="enviar" type="submit" class="input" value="enviar"/></td></tr>
  98.     </table> </form>
  99.    
  100.  
  101. <?php } ?>

Hay algún fallo en el código y no se donde se encuentra. Si esos campos no están correctamente rellenados aparece el mensaje "Debe rellenar todos los campos".

Alguien puede echarme una mano?