Ver Mensaje Individual
  #16 (permalink)  
Antiguo 26/04/2012, 06:21
quico5
 
Fecha de Ingreso: enero-2008
Mensajes: 580
Antigüedad: 16 años, 3 meses
Puntos: 9
Respuesta: textarea{text-indent:2em;} en OPERA no funciona

Jejeje, no se que significa disquicisiones, emprear, es para mandar un email

he probado sobre el DIV "REQUIRED" de HTML5 para que no se pueda mandar vacio pero no lo coje, me gusta la idea que HTML5 no permita mandar el email si no se cubre bien

--------------------------------------

creo que es lo de menos si se envía con espacios en mensaje del email, puedo sacarlos por PHP, uso HTML5 para validar los input y los textarear para que no se pueda mandar el email si no estan bien cubiertos

--------------------------------------

www.anhida.org

--------------------------------------

html5 con input
Código HTML:
 <input required type="text"  title="Asunto: Titulo" name="asunto" style="width:100%;" type="text" placeholder="Asunto: Titulo" maxlength="30" /> 
uso REQUIRED para que no se pueda mandar el campo vació o mal rellenado
uso PLACEHOLDER para poner un mensaje dentor de los INPUT como se hacia en JS mientras los INPUT están vacíos
pattern="[a-zA-Z0-9.+_-]{2,25}@[a-zA-Z0-9.-]{2,15}\.[a-zA-Z0-9.-]{2,9}" y con esto fuerzo un formato para los emails, cantidad de caracteres, etc
--------------------------------------

pongo el codigo completo de como lo tengo

index.html
Código:
<!DOCTYPE>

<html>

 <head>

  <title>Ejemplo de envío de formulario por email con php</title>

  <meta name="description" content="Formulario de contacto enviado por correo electronico usando php"/>

  
  <style>
	@media not screen and (1){.div{margin-right:4px;}}
	input, select, textarea{margin:2px 0;}
	input:required:invalid, textarea:required:invalid {border: 1px solid red; background:rgba(255, 0, 0, 0.05);}
	input:required:valid, textarea:required:valid {border: 1px solid green; background:rgba(0, 255, 0, 0.05);}
	
	input:required:invalid, input:focus:invalid, textarea:required:invalid, textarea:focus:invalid {
	  font-family: 'Comic Sans MS', cursive;
	  font-size:12px;
      background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAeVJREFUeNqkU01oE1EQ/mazSTdRmqSxLVSJVKU9RYoHD8WfHr16kh5EFA8eSy6hXrwUPBSKZ6E9V1CU4tGf0DZWDEQrGkhprRDbCvlpavan3ezu+LLSUnADLZnHwHvzmJlvvpkhZkY7IqFNaTuAfPhhP/8Uo87SGSaDsP27hgYM/lUpy6lHdqsAtM+BPfvqKp3ufYKwcgmWCug6oKmrrG3PoaqngWjdd/922hOBs5C/jJA6x7AiUt8VYVUAVQXXShfIqCYRMZO8/N1N+B8H1sOUwivpSUSVCJ2MAjtVwBAIdv+AQkHQqbOgc+fBvorjyQENDcch16/BtkQdAlC4E6jrYHGgGU18Io3gmhzJuwub6/fQJYNi/YBpCifhbDaAPXFvCBVxXbvfbNGFeN8DkjogWAd8DljV3KRutcEAeHMN/HXZ4p9bhncJHCyhNx52R0Kv/XNuQvYBnM+CP7xddXL5KaJw0TMAF8qjnMvegeK/SLHubhpKDKIrJDlvXoMX3y9xcSMZyBQ+tpyk5hzsa2Ns7LGdfWdbL6fZvHn92d7dgROH/730YBLtiZmEdGPkFnhX4kxmjVe2xgPfCtrRd6GHRtEh9zsL8xVe+pwSzj+OtwvletZZ/wLeKD71L+ZeHHWZ/gowABkp7AwwnEjFAAAAAElFTkSuQmCC');
      background-position: 5px top;
      background-repeat: no-repeat;
      -webkit-box-shadow: none;
      -moz-box-shadow: none;
      -o-box-shadow: none;
      -ms-box-shadow: none;
      box-shadow: none;
	  text-indent: 18px;
    }
      input:required:valid, textarea:required:valid {
      font-family: 'Comic Sans MS', cursive;
	  font-size:12px;
	  background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAepJREFUeNrEk79PFEEUx9/uDDd7v/AAQQnEQokmJCRGwc7/QeM/YGVxsZJQYI/EhCChICYmUJigNBSGzobQaI5SaYRw6imne0d2D/bYmZ3dGd+YQKEHYiyc5GUyb3Y+77vfeWNpreFfhvXfAWAAJtbKi7dff1rWK9vPHx3mThP2Iaipk5EzTg8Qmru38H7izmkFHAF4WH1R52654PR0Oamzj2dKxYt/Bbg1OPZuY3d9aU82VGem/5LtnJscLxWzfzRxaWNqWJP0XUadIbSzu5DuvUJpzq7sfYBKsP1GJeLB+PWpt8cCXm4+2+zLXx4guKiLXWA2Nc5ChOuacMEPv20FkT+dIawyenVi5VcAbcigWzXLeNiDRCdwId0LFm5IUMBIBgrp8wOEsFlfeCGm23/zoBZWn9a4C314A1nCoM1OAVccuGyCkPs/P+pIdVIOkG9pIh6YlyqCrwhRKD3GygK9PUBImIQQxRi4b2O+JcCLg8+e8NZiLVEygwCrWpYF0jQJziYU/ho2TUuCPTn8hHcQNuZy1/94sAMOzQHDeqaij7Cd8Dt8CatGhX3iWxgtFW/m29pnUjR7TSQcRCIAVW1FSr6KAVYdi+5Pj8yunviYHq7f72po3Y9dbi7CxzDO1+duzCXH9cEPAQYAhJELY/AqBtwAAAAASUVORK5CYII=');
      background-position: 5px top;
      background-repeat: no-repeat;
	  text-indent: 18px;
    }
	form{border:1px solid silver; padding:2px 4px; margin:0px;}
  </style>
  
  </head>

<body>


<b>Escribenos:</b>
 <div id="formulario">

  <form action="enviar.php" method="POST">
    <!--[if IE]><label>Nombre:</label><![endif]-->
    <input required type="text" title="Nombre: Julio Verne" name="nombre" style="width:100%;" type="text" placeholder="Nombre: Julio Verne" maxlength="30" />
    <!--[if IE]><label>Email:</label><![endif]-->
    <div class="div"><input required title="Email: [email protected]" type="email" name="email" style="width:100%;" type="text" placeholder="Email: [email protected]" maxlength="40" pattern="[a-zA-Z0-9.+_-]{2,25}@[a-zA-Z0-9.-]{2,15}\.[a-zA-Z0-9.-]{2,9}" /></div>
    <!--[if IE]><label>Asunto:</label><![endif]-->
    <input required type="text"  title="Asunto: Titulo" name="asunto" style="width:100%;" type="text" placeholder="Asunto: Titulo" maxlength="30" />
    <!--[if IE]><label>Mensaje:</label><![endif]-->
    <textarea required style="width:100%;" rows="6"  title="Mensaje: Texto de prueba" name="mensaje" placeholder="Mensaje: Texto de prueba" maxlength="" ></textarea>
    
    <select name="para" style="width:100%;">
    <option value="[email protected]">Anhida Vigo</option>
    <option value="[email protected]">Anhida FerrolTerra</option>
    <option value="[email protected]">Anhida Coru&ntilde;a</option>
    <option value="[email protected]">Webmaster</option>
    </select>
	<br/>
    <input name="enviar" type="submit" value="Enviar" style="width:50%;" /><input name="reset" type="reset" value="Borrar" style="width:50%;" />
  </form>
 </div>
</body>
</html>
enviar.php
Código:
<?php

  //variable de validacion

  $valida = true;

  if (empty($_POST['nombre'])) {

    echo "<b>No se especifico nombre</b><br/>";

    $valida = false;

  }
  
  if (empty($_POST['email'])) {
   echo "<b>No se especifico E - mail</b><br/>";
   
   $valida = false;

  }

  if (empty($_POST['asunto'])) {

   echo "<b>No se especifico asunto</b><br/>";

   $valida = false;

  }

  if (empty($_POST['mensaje'])) {

   echo "<b>Por favor, no envie un mensaje en blanco</b><br/>";

   $valida = false;

  }

  // Validamos la direccion de correo electronico

  if (!strchr($_POST['email'],"@") || !strchr($_POST['email'],"."))
   {

    echo "<b>No es un correo valido</b><br/>";

    $valida = false;

   }

  // Si las comprobaciones son correctas

  if ($valida == true)

   {

    // Creamos el header para el mensaje

    // para:

    $to = $_POST['para'];

    // Asunto

    $subject = $_POST['asunto'];

    // Cabeceras del mail (Content-Type y demas info)

    $headers = "MIME-Version: 1.0\n";

    $headers .= "Content-type: text/html; charset=utf-8\n";

    // El From: en la forma Nombre <[email protected]>, esto garantiza que

    // el receptor vea solo el nombre de quien envia

    $headers .= "From: ".$_POST['nombre']." <".$_POST['email'].">\n";

    // Opcional: Resopnder a:

    $headers .= "Reply-To: " . $_POST['email']."\n";

    //Opcional X-Mailer

    $headers .= "X-Mailer: PHP/" . phpversion();

    // Cuerpo del email

    $message = $_POST['mensaje'];

    if(mail($to, $subject, $message,$headers))
     {

      echo "<p>Email enviado correctamente.</p>";

     }else{
	  echo "Corrija el formulario.<br/>en unos segundos vera el formulario<nr/>[email protected]";
	 }

   }

?>

<script type="text/javascript">
//<![CDATA[
/* script */
function ai(){
location.replace('index.php');// --> aqui la página que contiene el form
}
var t = setTimeout('ai()', 10000);
//]]>
</script>

Última edición por quico5; 26/04/2012 a las 06:58