Formulario de envio seguro antispam

La mayor parte de las páginas web normalmente dispone de un formulario de contacto o similar, vamos a explicar un ejemplo sencillo de como crear un formulario seguro de contacto a traves de codigo html y un pequeño fragmento de codigo en php.

Codigo:
<?php

//Funcion mensaje, alerta con un mensaje

function Mensaje($mensaje)

{

echo "<html><body><script language=javascript1.1>alert('$mensaje'); javascript:history.back();</script><noscript>Your browser doesn't support JavaScript 1.1 or it's turned off in your browsers preferences.</noscript></body></html>";

}


//Codigo de envio del formulario a traves de email

if($Accion=='Enviar')

{

//Comprobamos que no se ha enviado un campo vacio

if($email==''||$mensaje==''||$nombre==''){

Mensaje("Debe rellenar los campos obligatorios"); $Error=1;

}


//Validaciones de campos

if(eregi("^[a-zA-Z0-9_]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$]", $email))

{

Mensaje("Por favor introduzca un email real y en uso"); $Error=1;

}



if($Error!=1){

//Filtrado de campos

$nombre = preg_replace('/[^a-zA-Z0-9á-ú ]/','',$nombre);

$mensaje = preg_replace('/[^a-zA-Z0-9á-ú ]/','',$mensaje);


$mensaje="Nombre: $nombre

Email: $email


Asunto:

".$mensaje;


$enviado=1;


//Envio de email a traves de php, aqui debe poner el email donde quiere que le envien el correo, reemplace miemail@miemail.com por el suyo

mail("miemail@miemail.com", "Mensaje enviado desde formulario", $mensaje,"From: $nombre <$email>");

Mensaje("Su petición ha sido recibida con exito y sera atendida lo antes posible");

}

}


?>

<html>

<head>

<title>Formulario de envio</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

</head>


<body>


<form name="form1" method="post" action="formulario.php?Accion=Enviar">

<table width="658" border="0" cellspacing="1">

<tr>

<td width="271" align="center"> Nombre y apellidos(*):</td>

<td width="89">&nbsp;</td>

<td width="288" align="center"> Email o correo electr&oacute;nico(*):</td>

</tr>

<tr>

<td align="center"> <font color="#7C8587" face="Verdana">

<input type="text" name="nombre" size="23">

</font></td>

<td>&nbsp;</td>

<td align="center"> <font color="#7C8587" face="Verdana">

<input type="text" name="email" size="23">

</font></td>

</tr>

<tr>

<td colspan="3">&nbsp;</td>

</tr>

<tr>

<td colspan="3"> <b> Descripci&oacute;n de la consulta: </b> </td>

</tr>

<tr>

<td colspan="3"> <font face="Verdana">

<textarea name="mensaje" cols="63" rows="10"></textarea>

</font></td>

</tr>

<tr>

<td colspan="3">

<p align="right">

<input type="submit" name="Submit" value="Enviar">



</td>

</tr>

</table>

</form>

</body>

</html>



Para usar este formulario tan solo tendremos que crear fichero formulario.php con este codigo y reemplazar dentro del codigo php "miemail@miemail.com" por nuestro email. Para añadir campos deberemos añadirlos en el formulario asignarles un nombre y añadirlos dentro de la variable $mensaje en el codigo php, es recomdable pasarles un filtro para evitar spam al igual que los otros campos añadiendo una linea similar en su sección correspondiente
  • 0 Користувачі, які знайшли це корисним
Ця відповідь Вам допомогла?

Схожі статті

Error en el admin de mi osscomerce

Su al entrar en la admin de su oscommerce despues de la instalación recibe un error como este:...

Tabla caracteres funcion date()

  Caracter de formatoDescripciónValores de ejemplo...

Ejemplo de función mail

Definicón de la funcion: mail ( string para, string asunto, string mensaje [, string...

Programación segura de su pagina I. Include

Un error típico cometido por los programadores en php es incluir las distintas secciones de la...

Programación segura de su pagina II. Filtre codigo maligno

En este ocasión vamos a debatir el problema de seguridad que representa no filtarar el codigo...