Foros del Web » Programando para Internet » PHP »

Formulario de contacto en php

Estas en el tema de Formulario de contacto en php en el foro de PHP en Foros del Web. Un sencillo formulario en php, verifica que todos los campos han sido rellenados, tiene una especie de captcha, te pide el año actual, si no ...
  #1 (permalink)  
Antiguo 30/09/2008, 12:40
 
Fecha de Ingreso: mayo-2008
Mensajes: 181
Antigüedad: 15 años, 10 meses
Puntos: 0
Formulario de contacto en php

Un sencillo formulario en php, verifica que todos los campos han sido rellenados, tiene una especie de captcha, te pide el año actual, si no se pone el año correcto no deja enviar.

Espero que le sirva a alguno.

Un saludo

Nightduke

enviar.php

<?
$nombre = $_REQUEST["nombre"];
$apellidos = $_REQUEST["apellidos"];
$remitente = $_REQUEST["correo"];
$telefono = $_REQUEST["telefono"];
$direccion = $_REQUEST["direccion"];
$codigo = $_REQUEST["codigo"];
$mensaje = $_REQUEST["comentarios"];
mail("[email protected]", "Comentarios desde mi pagina",$mensaje = "$nombre\n $apellidos\n $remitente\n $telefono\n $direccion\n $codigo\n $mensaje", "From: $remitente")

or die ("Su mensaje no se envio.");
// En caso de que cualquier línea tenga más de 70 caracteres, habría
// que usar wordwrap()
$mensaje = wordwrap($mensaje, 70);

echo "<p>Hemos recibido la siguiente informaci&oacute;n:<p>";
echo $mensaje;
echo "<p><br><p>Muy pronto nos pondremos en contacto con usted.<p>";
?>


webform.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
<title></title>
<script>

function validarEntero(valor){
//intento convertir a entero.
//si era un entero no le afecta, si no lo era lo intenta convertir
valor = parseInt(valor)

//Compruebo si es un valor numérico
if (isNaN(valor)) {
//entonces (no es numero) devuelvo el valor cadena vacia
return ""
}else{
//En caso contrario (Si era un número) devuelvo el valor
return valor
}
}

function valida_envia(){
//valido el nombre
if (document.fvalida.nombre.value.length==0){
alert("Tiene que escribir su nombre")
document.fvalida.nombre.focus()
return 0;
}

//valido el año. tiene que ser 2008 o menor
edad = document.fvalida.edad.value
edad = validarEntero(edad)
document.fvalida.edad.value=edad
if (edad==""){
alert("Tiene que introducir el año actual.")
document.fvalida.edad.focus()
return 0;
}else{
if (edad> 2008){
alert("Debe ser 2008")
document.fvalida.edad.focus()
return 0;
}
}

//valido el apellidos
if (document.fvalida.apellidos.value.length==0){
alert("Tiene que escribir su apellidos")
document.fvalida.apellidos.focus()
return 0;
}

//valido el correo
if (document.fvalida.correo.value.length==0){
alert("Tiene que escribir su correo electronico")
document.fvalida.correo.focus()
return 0;
}
//valido el telefono
if (document.fvalida.telefono.value.length==0){
alert("Tiene que escribir su telefono")
document.fvalida.telefono.focus()
return 0;
}
//el formulario se envia
alert("Muchas gracias por enviar el formulario");
document.fvalida.submit();
}
</script>
</head>


<body style="background-image: url(2.jpg);">
<form name="fvalida" method="post" enctype="multipart/form-data" action="enviar1.php" onsumit="javascript:return validar();">
<div style="text-align: right;">

</div>
<table style="text-align: left; margin-left: auto; margin-right: auto;">
<tbody>
<tr>
<td style="text-align: right;"><span style="font-weight: bold;">Nombre:</span> </td>
<td><input name="nombre" size="30" maxlength="100" type="text"></td>
</tr>
<tr>

<td style="text-align: right;"><span style="font-weight: bold;">A&ntilde;o actual:</span> </td>
<td><input name="edad" size="3" maxlength="4" type="text"></td>
</tr>
<tr>
<td style="font-weight: bold; text-align: right;">Apellidos:</td>
<td><input name="apellidos"></td>
</tr>

<tr>
<td style="font-weight: bold; text-align: right;">Correo:</td>
<td><input name="correo" value=""></td>
</tr>
<tr>
<td style="font-weight: bold; text-align: right;">Telefono:</td>
<td><input name="telefono"></td>
</tr>

<tr>
<td style="font-weight: bold; text-align: right;">Comentarios</td>
<td style="text-align: center;"><textarea cols="20" rows="5" name="comentarios"></textarea></td>
</tr>
<tr>
<td colspan="2" style="text-align: center;"><input value="Enviar" onclick="valida_envia()" type="button"></td>
</tr>
</tbody>

</table>
</form>
</body>
</html>
  #2 (permalink)  
Antiguo 30/09/2008, 12:48
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Exclamación Respuesta: Formulario de contacto en php

Interesante el aporte, no he mirado todo el código, pero una cosa que he visto fue que estás enviando el formulario con un botón usando el método submit() en Javascript, lo más correcto es enviar el formulario usando un input type submit.
http://www.forosdelweb.com/f13/malas...itarse-620808/
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 25/10/2008, 01:03
 
Fecha de Ingreso: julio-2007
Ubicación: México DF
Mensajes: 57
Antigüedad: 16 años, 9 meses
Puntos: 4
Respuesta: Formulario de contacto en php

Gracias por el codigo y si es correcto que use el metodo submit por que primero se tiene que validar los campos y si todo esta bien se envia.
Saludos.
  #4 (permalink)  
Antiguo 05/11/2008, 15:33
Avatar de almagropaco_  
Fecha de Ingreso: marzo-2008
Ubicación: Mar del Plata
Mensajes: 854
Antigüedad: 16 años, 1 mes
Puntos: 25
Respuesta: Formulario de contacto en php

huy, de 10, la otra vez tenia un formulario de contacto re bueno, pero formatie la pc y me olvide de ponerlo en el d. Es lo que estaba buscando. Muchas Gracias. Saludos

Pd: me tira error cuando pongo algo erroneo, pero cuando envio el mensaje, no se envia, y no sale el mensaje que dice que el mensaje ha sido enviado. Una cosa en la que te equivocaste:

Cita:
<form name="fvalida" method="post" enctype="multipart/form-data" action="enviar1.php"
Si te fijas el nombre del archivo es sin 1.

Deberia ser asi:

Cita:
<form name="fvalida" method="post" enctype="multipart/form-data" action="enviar.php"
Obvio que esa modificacion ya la hice y subi el archivo, pero no funciona.

Última edición por almagropaco_; 05/11/2008 a las 15:47 Razón: Error
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 09:32.