Foros del Web » Programando para Internet » PHP »

Ejemplo de formulario

Estas en el tema de Ejemplo de formulario en el foro de PHP en Foros del Web. Os adjunto un formulario que he creado... Espero que os sirva. Le he metido una opcion en el formulario para que siempre tengan que meter ...
  #1 (permalink)  
Antiguo 08/06/2008, 08:07
 
Fecha de Ingreso: mayo-2008
Mensajes: 181
Antigüedad: 15 años, 10 meses
Puntos: 0
Sonrisa Ejemplo de formulario

Os adjunto un formulario que he creado...

Espero que os sirva.

Le he metido una opcion en el formulario para que siempre tengan que meter el año actual.... asi los spammers no podran mandar el formulario sino ponen 2008 o 2001....o 1....

El codigo 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(imagen.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>

El fichero para realizar el envio en php....

enviar1.php

<?
$nombre = $_REQUEST["nombre"];
$apellidos = $_REQUEST["apellidos"];
$remitente = $_REQUEST["correo"];
$telefono = $_REQUEST["telefono"];
$mensaje = $_REQUEST["comentarios"];
mail("[email protected]", "Comentarios desde mi pagina",$mensaje = "$nombre\n $apellidos\n $remitente\n $telefono\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>";
?>
  #2 (permalink)  
Antiguo 08/06/2008, 08:12
 
Fecha de Ingreso: mayo-2008
Mensajes: 181
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Ejemplo de formulario

¿Se puede añadir al php que cada vez que envie el email que ponga los distintos campos en el email?

Nombre
Apellidos
email
telefono...etc
  #3 (permalink)  
Antiguo 08/06/2008, 08:15
 
Fecha de Ingreso: febrero-2003
Ubicación: Santiago
Mensajes: 220
Antigüedad: 21 años, 2 meses
Puntos: 4
Respuesta: Ejemplo de formulario

ese es copiar pegar verdad?

mail("[email protected]", "Comentarios desde mi pagina",$mensaje = "$nombre\n $apellidos\n $remitente\n $telefono\n $mensaje", "From: $remitente")

or die ("Su mensaje no se envio.");


estas adjuntando apellido telefono etc... donde va la duda?

usa $_POST en vez de _REQUEST para obtener el formulario
__________________
Roberto Osses Elgueta
Senior Web Developer
  #4 (permalink)  
Antiguo 08/06/2008, 08:56
 
Fecha de Ingreso: mayo-2008
Mensajes: 181
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Ejemplo de formulario

Bueno lo he visto en varias webs y he hecho una mezcla....

Lo que quiero, es recibir en el correo :

nombre: juan
apellidos: lopez
telefono: 993939

es que recibo

juan
lopez
993939

Gracias
  #5 (permalink)  
Antiguo 08/06/2008, 09:01
 
Fecha de Ingreso: febrero-2003
Ubicación: Santiago
Mensajes: 220
Antigüedad: 21 años, 2 meses
Puntos: 4
Respuesta: Ejemplo de formulario

Ok

Cambia la linea

mail("[email protected]", "Comentarios desde mi pagina",$mensaje = "$nombre\n $apellidos\n $remitente\n $telefono\n $mensaje", "From: $remitente")

por

mail("[email protected]", "Comentarios desde mi pagina",$mensaje = "Nombre: $nombre\n Apellido: $apellidos\n $remitente\n Fono: $telefono\n $mensaje", "From: $remitente")

Fijate que antes de la variable interpuse un texto fijo

ojala me entiendas

eso es todo :) saludos.
__________________
Roberto Osses Elgueta
Senior Web Developer
  #6 (permalink)  
Antiguo 08/06/2008, 09:30
 
Fecha de Ingreso: mayo-2008
Mensajes: 181
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Ejemplo de formulario

Si lo he pillado....pero tengo otro problema con este codigo de enviar....muchas gracias

<?php
//Recoge las variables
$nombre = $_POST['nombre'];
$apellidos= $_POST ['apellidos'];
$remitente = $_POST['correo'];
$asunto = $_POST['interes'];
$telefono = $_REQUEST["telefono"];
$mensaje = $_POST['comentarios'];

//Preparando envio de correo
$De = $remitente;
$Para = '[email protected]';
$Cuerpo.="Datos enviados desde www.dominio.com formulario de contacto.\n\n";
$Cuerpo.="Nombre: $nombre\n\n";
$Cuerpo.="Apellidos: $apellidos\n\n";
$Cuerpo.="Remitente: $remitente\n\n";
$Cuerpo.="Telefono: $telefono\n\n";
$Cuerpo.="Comentarios:\n\n$mensaje\n\n";
$Cabeceras="From: $De\r\n";
$Cabeceras.="Reply-To: $De\r\n";
$Cabeceras.="Content-type: text/plain; charset=iso-8859-1\r\n";
//enviando el mail
mail($Para, $asunto, $Cuerpo, $Cabeceras);

?>
Envia pero me sale esto...

Notice: Undefined variable: Cuerpo in c:\var\internet\dominios\dominio.com\new\enviar2.p hp on line 13
  #7 (permalink)  
Antiguo 08/06/2008, 09:32
 
Fecha de Ingreso: mayo-2008
Mensajes: 181
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Ejemplo de formulario

En el codigo javascript como puedo definirle que solo admita 2008 porque tengo puesto esto

//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;
}
}
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.
Respuesta

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 06:36.