Foros del Web » Programando para Internet » PHP »

Necesito ayuda con un formulario

Estas en el tema de Necesito ayuda con un formulario en el foro de PHP en Foros del Web. Hola a todos: Ante todo mostrar mi agradecimiento a cuantos inviertan parte de su tiempo leyendo este mensaje o echándome una mano. Bien, centrándome en ...
  #1 (permalink)  
Antiguo 11/09/2009, 03:28
 
Fecha de Ingreso: febrero-2004
Ubicación: Padul - Granada - España
Mensajes: 13
Antigüedad: 20 años, 2 meses
Puntos: 0
Necesito ayuda con un formulario

Hola a todos:

Ante todo mostrar mi agradecimiento a cuantos inviertan parte de su tiempo leyendo este mensaje o echándome una mano.

Bien, centrándome en el tema debo reconocer que soy muy novato en el tema de PHP y por eso mismo puede parecer que mi solicitud de ayuda es por una minucia. Para mí, os puedo asegurar, no lo es.

Estoy haciendo un formulario (readaptado de uno que encontré por la red) para enviar solicitudes de reserva de mesa para la web que le estoy haciendo a un amigo.

La parte del formulario que se rellena por el cliente es la siguiente:

<?php
if (!$HTTP_POST_VARS){
?>
<form name="form_enviar" form action="form_recibir.php" method="post">
<table width="400" border="0" align="center" cellpadding="2" cellspacing="3" summary="Formulario de Reservas">
<tr>
<th scope="row">Nombre:</th>
<td><input type="text" id="nombre" name="nombre" size="45" /></td>
</tr>
<tr>
<th scope="row">Tel&eacute;fono:</th>
<td><input type="text" id="telefono" name="telefono" size="12" /></td>
</tr>
<tr>
<th scope="row">E-mail:</th>
<td><input type="text" id="email" name="email" size="45" /></td>
</tr>
<tr>
<th scope="row">Fecha:</th>
<td><input type="text" id="fecha" name="fecha" size="8" /></td>
</tr>
<tr>
<th scope="row">Hora:</th>
<td><input type="text" id="hora" name="hora" size="5" /></td>
</tr>
<tr>
<th scope="row">Comensales:</th>
<td><input type="text" id="comensales" name="comensales" size="3" /></td>
</tr>
<tr>
<th rowspan="2" valign="top" scope="row"><strong>Comentarios: </strong>
<td><textarea name="comentarios" id="comentarios" cols="40" rows="10"></textarea></td>
</tr>
<tr>
<td> <div align="center">
<input name="bot&oacute;n" type="submit" value="Enviar" />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input name="reset" type="reset" value="Borrar" />
</div></td>
</tr>
</table>
<div align="center"></div>
</form>
<?php
}else{

echo "Ha ocurrido un error";
}

?>



La que tengo en el servidor es la siguiente:

<?php
if ($HTTP_POST_VARS){

$_POST["Nombre"]=$nombre;
$_POST["Teléfono"]=$telefono;
$_POST["E-mail"]=$email;
$_POST["Fecha"]=$fecha;
$_POST["Hora"]=$hora;
$_POST["Comensales"]=$comensales;
$_POST["Comentarios"]=$comentarios; ?>
<strong>Nombre: </strong> <?php echo "$nombre";?><br/>
<strong>Teléfono: </strong> <?php echo "$telefono";?><br/>
<strong>E-mail: </strong> <?php echo "$email";?><br/>
<strong>Fecha: </strong> <?php echo "$fecha";?><br/>
<strong>Hora: </strong> <?php echo "$hora";?> <br/>
<strong>Comensales: </strong> <?php echo "$comensales";?> <br/>
<strong>Comentarios:</strong> <?php echo "$comentarios";?> </p>

<?php

$cuerpo .="Nombre: ".$HTTP_POST_VARS["nombre"]."
"."<br />";
$cuerpo .="Teléfono: ".$HTTP_POST_VARS["telefono"]."
"."<br />";
$cuerpo .="E-mail: ".$HTTP_POST_VARS["email"]."
"."<br />";
$cuerpo .="Fecha: ".$HTTP_POST_VARS["fecha"]."
"."<br />";
$cuerpo .="Hora: ".$HTTP_POST_VARS["hora"]."
"."<br />";
$cuerpo .="Comensales: ".$HTTP_POST_VARS["comensales"]."
"."<br />";
$cuerpo .="Comentarios: ".$HTTP_POST_VARS["comentarios"]."
"."<br />";

$headers="MIME-Version: 1.0
";
$headers.= "Content-type: text/html; charset=iso-8859-1
";

mail("direcciondecorreo","Solicitud de reserva",$cuerpo,$headers);
}else{
echo "Su solicitud no ha podido ser enviada";
}
?>



El formulario va genial y envía por correo los datos perfectamente.

El problema que me ocupa es que al enviar muestra una pantalla en blanco, bastante insulsa, en la que solo aparece el nombre de los campos del formulario, pero no incluye las variables, para que el cliente pueda comprobar los datos enviados.

Tampoco tengo nada para volver a la pantalla de reservas.

Lo dicho: lo mismo es una tontería, pero me sería de gran ayuda que alguien me echase una mano.
  #2 (permalink)  
Antiguo 11/09/2009, 04:38
 
Fecha de Ingreso: abril-2008
Mensajes: 32
Antigüedad: 16 años
Puntos: 0
Respuesta: Necesito ayuda con un formulario

Hola,

estas asignaciones están hechas alrevés:

Código PHP:
$_POST["Nombre"]=$nombre;
$_POST["Teléfono"]=$telefono;
$_POST["E-mail"]=$email;
$_POST["Fecha"]=$fecha;
$_POST["Hora"]=$hora;
$_POST["Comensales"]=$comensales;
$_POST["Comentarios"]=$comentarios
Deberían ser así:

Código PHP:
$nombre $_POST["Nombre"];
$telefono $_POST["Teléfono"];
... 
Suerte
  #3 (permalink)  
Antiguo 11/09/2009, 05:10
 
Fecha de Ingreso: febrero-2004
Ubicación: Padul - Granada - España
Mensajes: 13
Antigüedad: 20 años, 2 meses
Puntos: 0
Respuesta: Necesito ayuda con un formulario

Hola aeloco:

Ante todo agradecer la celeridad con la que me has contestado.

He probado a poner el código como me has comentado, pero sigue saliéndome lo mismo, es decir: la insulsa pantallita en blanco con el listado de los campos en los que debía incluir las variables --->

Nombre:
Teléfono:
E-mail:
Fecha:
Hora:
Comensales:
Comentarios:

Si ves alguna otra solución te agradecería que me echaras una mano ya de paso para poder dar a la pantalla que sale un poquito de alegría (diseño) y un botón para volver a la página reservas.htm.

El código que he colgado está completo, por lo que, si lo deseas, puedes probarlo. Lo único es que tendrás que poner una dirección de correo para poder hacer la prueba completa.

De antemano quedo muy agradecido.
  #4 (permalink)  
Antiguo 11/09/2009, 05:56
 
Fecha de Ingreso: septiembre-2008
Ubicación: Lanzarote, Canarias
Mensajes: 486
Antigüedad: 15 años, 7 meses
Puntos: 41
Respuesta: Necesito ayuda con un formulario

Normal si sigues utilizando $HTTP_POST_VARS, se utiliza $_POST.

$HTTP_POST_VARS está obsoleto.

saludos.
  #5 (permalink)  
Antiguo 11/09/2009, 09:00
Avatar de p414  
Fecha de Ingreso: agosto-2009
Ubicación: casi casi casi... a un lado de la cuna...
Mensajes: 575
Antigüedad: 14 años, 7 meses
Puntos: 44
Respuesta: Necesito ayuda con un formulario

usa post o gets yo por lo general uso get aunq se muestren en la direccion los datos pero se me hace mas facil
  #6 (permalink)  
Antiguo 11/09/2009, 13:16
 
Fecha de Ingreso: febrero-2004
Ubicación: Padul - Granada - España
Mensajes: 13
Antigüedad: 20 años, 2 meses
Puntos: 0
Respuesta: Necesito ayuda con un formulario

El tema está en que el correo me llega correcto, pero en la pantalla que se muestra al usuario solo aparece:

Nombre:
Teléfono:
E-mail:
Fecha:
Hora:
Comensales:
Comentarios:


Sin más información.

Sigo esperando y dispuesto a probar lo que veais conveniente.

Gracias a todos.
  #7 (permalink)  
Antiguo 11/09/2009, 15:34
Avatar de Bytevamp  
Fecha de Ingreso: junio-2005
Ubicación: /var/www/
Mensajes: 789
Antigüedad: 18 años, 10 meses
Puntos: 7
Respuesta: Necesito ayuda con un formulario

No creo que sea por eso, pero prueba a poner en vez de:
Código PHP:
<strong>Nombre: </strong> <?php echo "$nombre";?><br/>
...
esto:
Código PHP:
<strong>Nombre: </strong> <?php echo $nombre;?><br/>
...
y tal y como te dijo codig0 usa
Código PHP:
$_POST 
en lugar de
Código PHP:
$HTTP_POST_VARS 
y a ver que tal.
Un saludo.
__________________
"zankius veri mach" a todos los que me habeis ayudado.
carteles para inmobiliarias || alquiler de coches
  #8 (permalink)  
Antiguo 12/09/2009, 01:53
 
Fecha de Ingreso: febrero-2004
Ubicación: Padul - Granada - España
Mensajes: 13
Antigüedad: 20 años, 2 meses
Puntos: 0
Respuesta: Necesito ayuda con un formulario

Lo primero es dar las gracias a todos los que me estáis echando un cable.

Bien, ya en el tema, he ido cambiando el código tal y como me vais indicando y actualmente está como sigue:

FORMULARIO QUE RELLENA EL CLIENTE:

<?php
if (!$_POST){
?>
<form name="form_enviar" form action="form_recibir.php" method="post">
<table width="400" border="0" align="center" cellpadding="2" cellspacing="3" summary="Formulario de Reservas">
<tr>
<th scope="row">Nombre:</th>
<td><input type="text" id="nombre" name="nombre" size="45" /></td>
</tr>
<tr>
<th scope="row">Tel&eacute;fono:</th>
<td><input type="text" id="telefono" name="telefono" size="12" /></td>
</tr>
<tr>
<th scope="row">E-mail:</th>
<td><input type="text" id="email" name="email" size="45" /></td>
</tr>
<tr>
<th scope="row">Fecha:</th>
<td><input type="text" id="fecha" name="fecha" size="8" /></td>
</tr>
<tr>
<th scope="row">Hora:</th>
<td><input type="text" id="hora" name="hora" size="5" /></td>
</tr>
<tr>
<th scope="row">Comensales:</th>
<td><input type="text" id="comensales" name="comensales" size="3" /></td>
</tr>
<tr>
<th rowspan="2" valign="top" scope="row"><strong>Comentarios: </strong>
<td><textarea name="comentarios" id="comentarios" cols="40" rows="10"></textarea></td>
</tr>
<tr>
<td> <div align="center">
<input name="bot&oacute;n" type="submit" value="Enviar" />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input name="reset" type="reset" value="Borrar" />
</div></td>
</tr>
</table>
<div align="center"></div>
</form>
<?php
}else{

echo "Ha ocurrido un error";
}
?>


FORMULARIO QUE ENVIA EL CORREO CON LOS DATOS Y MUESTRA AL CLIENTE LOS QUE HA INTRODUCIDO:

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

<body>
<?php
if ($_POST){

$_POST["Nombre"]=$nombre;
$_POST["Teléfono"]=$telefono;
$_POST["E-mail"]=$email;
$_POST["Fecha"]=$fecha;
$_POST["Hora"]=$hora;
$_POST["Comensales"]=$comensales;
$_POST["Comentarios"]=$comentarios; ?>
<strong>Nombre: </strong> <?php echo $nombre;?><br/>
<strong>Teléfono: </strong> <?php echo $telefono;?><br/>
<strong>E-mail: </strong> <?php echo $email;?><br/>
<strong>Fecha: </strong> <?php echo $fecha;?><br/>
<strong>Hora: </strong> <?php echo $hora;?> <br/>
<strong>Comensales: </strong> <?php echo $comensales;?> <br/>
<strong>Comentarios:</strong> <?php echo $comentarios;?> </p>

<?php

$cuerpo .="Nombre: ".$_POST["nombre"]."
"."<br />";
$cuerpo .="Teléfono: ".$_POST["telefono"]."
"."<br />";
$cuerpo .="E-mail: ".$_POST["email"]."
"."<br />";
$cuerpo .="Fecha: ".$_POST["fecha"]."
"."<br />";
$cuerpo .="Hora: ".$_POST["hora"]."
"."<br />";
$cuerpo .="Comensales: ".$_POST["comensales"]."
"."<br />";
$cuerpo .="Comentarios: ".$_POST["comentarios"]."
"."<br />";

$headers="MIME-Version: 1.0
";
$headers.= "Content-type: text/html; charset=iso-8859-1
";

mail("dirección de email","Solicitud de reserva",$cuerpo,$headers);
}else{
echo "Su solicitud no ha podido ser enviada";
}
?>
</body>
</html


Si queréis verlo funcionando lo podéis hacer en: padulcofrade.com/form_enviar.php

Si la cosa os va como a mí veréis que solo os saldrá una pantalla con lo siguiente:

Nombre:
Teléfono:
E-mail:
Fecha:
Hora:
Comensales:
Comentarios:


Eso si, os envía el correo a vuestro servidor perfectamente correcto, pero al cliente no le muestra los datos con los que ha cumplimentado el formulario.

Naturalmente si, además de echarme una mano para resolver el problema, veis alguna forma en que quede mejor el formulario, solo tenéis que decírmela, ya que, como vengo diciendo, mi nivel en PHP es escaso y aun me queda mucho por aprender.

Mil gracias a todos por vuestra paciencia y ayuda.
  #9 (permalink)  
Antiguo 12/09/2009, 03:10
Avatar de DooBie  
Fecha de Ingreso: septiembre-2004
Mensajes: 1.101
Antigüedad: 19 años, 7 meses
Puntos: 71
Respuesta: Necesito ayuda con un formulario

Haz caso al amigo aeloco:


Cita:
Iniciado por aeloco Ver Mensaje
Hola,

estas asignaciones están hechas alrevés:

Código PHP:

$_POST
["Nombre"]=$nombre;
$_POST["Teléfono"]=$telefono;
$_POST["E-mail"]=$email;
$_POST["Fecha"]=$fecha;
$_POST["Hora"]=$hora;
$_POST["Comensales"]=$comensales;
$_POST["Comentarios"]=$comentarios
Deberían ser así:

Código PHP:
$nombre $_POST["Nombre"];
$telefono $_POST["Teléfono"];
... 
Suerte
  #10 (permalink)  
Antiguo 12/09/2009, 05:20
 
Fecha de Ingreso: febrero-2004
Ubicación: Padul - Granada - España
Mensajes: 13
Antigüedad: 20 años, 2 meses
Puntos: 0
Respuesta: Necesito ayuda con un formulario

Hola DooBie:

He hecho lo que me indicas, pero la cosa me sigue igual, es decir:

El correo llegaba con toda la información antes y ahora. El problema está en que cunado pulsar enviar te aparece una pantalla en la que el clientedeberíaver los datos introducidos , en esta pantalla lo único que se ve es:

Nombre:
Teléfono:
E-mail:
Fecha:
Hora:
Comensales:
Comentarios:


Ya digo, el correo me llega correctmente.

Muchas gracias a todos.
  #11 (permalink)  
Antiguo 12/09/2009, 05:29
 
Fecha de Ingreso: septiembre-2008
Ubicación: Lanzarote, Canarias
Mensajes: 486
Antigüedad: 15 años, 7 meses
Puntos: 41
Respuesta: Necesito ayuda con un formulario

Eso es imposible, el problema era que no usabas $_POST y que tenías al reves la asignación... pon directamente, prueba con otro navegador, que seguramente tengas problemas con el cache.
  #12 (permalink)  
Antiguo 12/09/2009, 05:31
 
Fecha de Ingreso: diciembre-2008
Mensajes: 11
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Necesito ayuda con un formulario

Hola, yo tampoco tengo mucha idea, estoy empezando y tengo el mismo problema que tu.

Pero he logrado solucionar que no me quede la página en blanco. Mi problema era que una vez que se mandaba el mensaje, me quedaba una página en blanco.

Yo tengo dos documentos, uno en html con el diseño del formulario y la otra en php, basta con que le pongas el diseño que tu quieras tanto a la de html como a la de php

No se si te aclaro algo, en cualquier caso, he visitado tu página pero no se como llegas a tu página de contacto. sólo he visitado el link que me das.

Saludos
  #13 (permalink)  
Antiguo 12/09/2009, 12:22
Avatar de DooBie  
Fecha de Ingreso: septiembre-2004
Mensajes: 1.101
Antigüedad: 19 años, 7 meses
Puntos: 71
Respuesta: Necesito ayuda con un formulario

Cita:
Iniciado por p18640 Ver Mensaje
Hola DooBie:

He hecho lo que me indicas, pero la cosa me sigue igual, es decir:

El correo llegaba con toda la información antes y ahora. El problema está en que cunado pulsar enviar te aparece una pantalla en la que el clientedeberíaver los datos introducidos , en esta pantalla lo único que se ve es:

Nombre:
Teléfono:
E-mail:
Fecha:
Hora:
Comensales:
Comentarios:


Ya digo, el correo me llega correctmente.

Muchas gracias a todos.
Como dice codig0, prueba otro navegador, igual es por el cache, aunque no deberia, yo sigo pensando que es problema de las asignaciones, que no acabas de hacerlas bien. pega el codigo completo del fichero, tal y como lo tienes ahora.

offtopic: al final ha llovido en granada esta tarde.... y yo mojandome viendo la vuelta :D
  #14 (permalink)  
Antiguo 12/09/2009, 16:33
 
Fecha de Ingreso: febrero-2004
Ubicación: Padul - Granada - España
Mensajes: 13
Antigüedad: 20 años, 2 meses
Puntos: 0
Respuesta: Necesito ayuda con un formulario

Hola de nuevo DooBie y resto de foreros.

Aquí te dejo el código, tal y como me pides:

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

<body bgcolor="#B8B198" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td align="center" valign="middle"><br>
<br>
<table width="400" border="0" align="center" cellpadding="10" cellspacing="0" bgcolor="#EEEEE3">
<tr bgcolor="#FF9900">
<td colspan="2"> <div align="center"><font color="#FFFFFF" size="2" face="Arial, Helvetica, sans-serif"><strong>Su
solicitud se ha enviado con la siguiente informaci&oacute;n</strong>
</font></div></td>
</tr>
<tr>
<td width="26%" height="132" bgcolor="#990000">&nbsp;</td>
<td width="74%" align="left" valign="middle"><strong><font size="2" face="Arial, Helvetica, sans-serif">Nombre:
</font></strong> <font size="2" face="Arial, Helvetica, sans-serif"><?php echo $nombre;?><br/>
<strong>Teléfono: </strong> <?php echo $telefono;?><br/>
<strong>E-mail: </strong> <?php echo $email;?><br/>
<strong>Fecha: </strong> <?php echo $fecha;?><br/>
<strong>Hora: </strong> <?php echo $hora;?> <br/>
<strong>Comensales: </strong> <?php echo $comensales;?> <br/>
<strong>Comentarios:</strong> <?php echo $comentarios;?> </p>&nbsp;</font></td>
</tr>
<tr>
<td height="36" bgcolor="#990000">&nbsp;</td>
<td align="left" valign="middle"><div align="right"><a href="midominio"><font size="-1" face="Verdana, Arial, Helvetica, sans-serif">Volver</font></a></div></td>
</tr>
</table>
</td>
</tr>
</table>
<?php
if ($_POST){

$nombre = $_POST["Nombre"];
$telefono = $_POST["Teléfono"];
$email = $_POST["E-mail"];
$fecha = $_POST["Fecha"];
$hora = $_POST["Hora"];
$comensales = $_POST["Comensales"];
$comentarios = $_POST["Comentarios"]; ?>


<?php

$cuerpo .="Nombre: ".$_POST["nombre"]."
"."<br />";
$cuerpo .="Teléfono: ".$_POST["telefono"]."
"."<br />";
$cuerpo .="E-mail: ".$_POST["email"]."
"."<br />";
$cuerpo .="Fecha: ".$_POST["fecha"]."
"."<br />";
$cuerpo .="Hora: ".$_POST["hora"]."
"."<br />";
$cuerpo .="Comensales: ".$_POST["comensales"]."
"."<br />";
$cuerpo .="Comentarios: ".$_POST["comentarios"]."
"."<br />";

$headers="MIME-Version: 1.0
";
$headers.= "Content-type: text/html; charset=iso-8859-1
";

mail("direcciondeemail","Solicitud de reserva",$cuerpo,$headers);
}else{
echo "Su solicitud no ha podido ser enviada";
}
?>
</body>
</html>


He estado probando pero no obtengo resultados distintos a los anteriores.


Gracias por vuestra dedicación
  #15 (permalink)  
Antiguo 12/09/2009, 16:47
 
Fecha de Ingreso: septiembre-2008
Ubicación: Lanzarote, Canarias
Mensajes: 486
Antigüedad: 15 años, 7 meses
Puntos: 41
Respuesta: Necesito ayuda con un formulario

y donde está el formulario? pon el código de la página de el formulario.
  #16 (permalink)  
Antiguo 13/09/2009, 00:47
 
Fecha de Ingreso: febrero-2004
Ubicación: Padul - Granada - España
Mensajes: 13
Antigüedad: 20 años, 2 meses
Puntos: 0
Respuesta: Necesito ayuda con un formulario

OK codig0:

Aquí te dejo los dos códigos`para que no tengas que andar buscando uno u otro.

Este es el del formulario que rellena el cliente, se llama (form_enviar.php):

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

<body>
<?php
if (!$_POST){
?>
<form name="form_enviar" form action="form_recibir.php" method="post">
<table width="400" border="0" align="center" cellpadding="2" cellspacing="3" summary="Formulario de Reservas">
<tr>
<th scope="row">Nombre:</th>
<td><input type="text" id="nombre" name="nombre" size="45" /></td>
</tr>
<tr>
<th scope="row">Tel&eacute;fono:</th>
<td><input type="text" id="telefono" name="telefono" size="12" /></td>
</tr>
<tr>
<th scope="row">E-mail:</th>
<td><input type="text" id="email" name="email" size="45" /></td>
</tr>
<tr>
<th scope="row">Fecha:</th>
<td><input type="text" id="fecha" name="fecha" size="8" /></td>
</tr>
<tr>
<th scope="row">Hora:</th>
<td><input type="text" id="hora" name="hora" size="5" /></td>
</tr>
<tr>
<th scope="row">Comensales:</th>
<td><input type="text" id="comensales" name="comensales" size="3" /></td>
</tr>
<tr>
<th rowspan="2" valign="top" scope="row"><strong>Comentarios: </strong>
<td><textarea name="comentarios" id="comentarios" cols="40" rows="10"></textarea></td>
</tr>
<tr>
<td> <div align="center">
<input name="bot&oacute;n" type="submit" value="Enviar" />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input name="reset" type="reset" value="Borrar" />
</div></td>
</tr>
</table>
<div align="center"></div>
</form>
<?php
}else{

echo "Ha ocurrido un error";
}

?>



</body>
</html>


Este es el que envía el correo a mi cuenta y debería mostrar al cliente una pantalla con los datos con los que se ha enviado el correo (se llama form_recibir.php):

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

<body bgcolor="#B8B198" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td align="center" valign="middle"><br>
<br>
<table width="400" border="0" align="center" cellpadding="10" cellspacing="0" bgcolor="#EEEEE3">
<tr bgcolor="#FF9900">
<td colspan="2"> <div align="center"><font color="#FFFFFF" size="2" face="Arial, Helvetica, sans-serif"><strong>Su
solicitud se ha enviado con la siguiente informaci&oacute;n</strong>
</font></div></td>
</tr>
<tr>
<td width="26%" height="132" bgcolor="#990000">&nbsp;</td>
<td width="74%" align="left" valign="middle"><strong><font size="2" face="Arial, Helvetica, sans-serif">Nombre:
</font></strong> <font size="2" face="Arial, Helvetica, sans-serif"><?php echo $nombre;?><br/>
<strong>Teléfono: </strong> <?php echo $telefono;?><br/>
<strong>E-mail: </strong> <?php echo $email;?><br/>
<strong>Fecha: </strong> <?php echo $fecha;?><br/>
<strong>Hora: </strong> <?php echo $hora;?> <br/>
<strong>Comensales: </strong> <?php echo $comensales;?> <br/>
<strong>Comentarios:</strong> <?php echo $comentarios;?> </p>&nbsp;</font></td>
</tr>
<tr>
<td height="36" bgcolor="#990000">&nbsp;</td>
<td align="left" valign="middle"><div align="right"><a href="midominio"><font size="-1" face="Verdana, Arial, Helvetica, sans-serif">Volver</font></a></div></td>
</tr>
</table>
</td>
</tr>
</table>
<?php
if ($_POST){

$nombre = $_POST["Nombre"];
$telefono = $_POST["Teléfono"];
$email = $_POST["E-mail"];
$fecha = $_POST["Fecha"];
$hora = $_POST["Hora"];
$comensales = $_POST["Comensales"];
$comentarios = $_POST["Comentarios"]; ?>


<?php

$cuerpo .="Nombre: ".$_POST["nombre"]."
"."<br />";
$cuerpo .="Teléfono: ".$_POST["telefono"]."
"."<br />";
$cuerpo .="E-mail: ".$_POST["email"]."
"."<br />";
$cuerpo .="Fecha: ".$_POST["fecha"]."
"."<br />";
$cuerpo .="Hora: ".$_POST["hora"]."
"."<br />";
$cuerpo .="Comensales: ".$_POST["comensales"]."
"."<br />";
$cuerpo .="Comentarios: ".$_POST["comentarios"]."
"."<br />";

$headers="MIME-Version: 1.0
";
$headers.= "Content-type: text/html; charset=iso-8859-1
";

mail("micorreo.com","Solicitud de reserva",$cuerpo,$headers);
}else{
echo "Su solicitud no ha podido ser enviada";
}
?>
</body>
</html>


Gracias
  #17 (permalink)  
Antiguo 13/09/2009, 02:57
Avatar de DooBie  
Fecha de Ingreso: septiembre-2004
Mensajes: 1.101
Antigüedad: 19 años, 7 meses
Puntos: 71
Respuesta: Necesito ayuda con un formulario

Normal que no te funcione, primero muestras los datos, y luego haces la asignacion... ademas de mezclar mayusculas/minusculas en el nombre de los campos.

- pon antes de ningun codigo html el codigo php
- el nombre de las variables del array $_POST debes ponerlas tal y como las declaras en el name del formulario, si es en minusculas, en minusculas...
- prueba, y nos cuentas.
  #18 (permalink)  
Antiguo 13/09/2009, 15:08
 
Fecha de Ingreso: febrero-2004
Ubicación: Padul - Granada - España
Mensajes: 13
Antigüedad: 20 años, 2 meses
Puntos: 0
De acuerdo Respuesta: Necesito ayuda con un formulario

Muchísimas gracias a todos y cada uno de los que me habéis prestado parte d evuestro tiempo, especialmente a DooBie.

Bien, como no podía ser de otra manera, al final cayó y ya funciona correctamente.

El código del formulario de solicitud y del que te envía los datos, para todo aquel que le venga bien, es el siguiente (ya lo he tuneado un poquito, pero eso es cosa de cada uno):

Formulario que rellena el cliente:

<html>
<head>
<title>Formulario de Reservas OnLine</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="../graficos/la_cantina_css.css" rel="stylesheet" type="text/css">
</head>

<body>
<?php
if (!$_POST){
?>

<form name="form_enviar" form action="form_recibir.php" method="post">
<table width="450" height="310" border="0" align="center" cellpadding="3" cellspacing="0" bgcolor="#EEEEE3" class="azulon2" summary="Formulario de Reservas">
<tr>
<th width="102" bgcolor="#7D0000" scope="row"> <div align="left" class="caja">Nombre:</div></th>
<td width="320"><input type="text" id="nombre" name="nombre" size="45" /></td>
</tr>
<tr>
<th bgcolor="#7D0000" scope="row"> <div align="left" class="caja">Tel&eacute;fono:</div></th>
<td><input type="text" id="telefono" name="telefono" size="12" /></td>
</tr>
<tr>
<th bgcolor="#7D0000" scope="row"> <div align="left" class="caja">E-mail:</div></th>
<td><input type="text" id="email" name="email" size="45" /></td>
</tr>
<tr>
<th bgcolor="#7D0000" scope="row"> <div align="left" class="caja">Fecha:</div></th>
<td><input type="text" id="fecha" name="fecha" size="8" /></td>
</tr>
<tr>
<th bgcolor="#7D0000" scope="row"> <div align="left" class="caja">Hora:</div></th>
<td><input type="text" id="hora" name="hora" size="5" /></td>
</tr>
<tr>
<th bgcolor="#7D0000" scope="row"> <div align="left" class="caja">Comensales:</div></th>
<td><input type="text" id="comensales" name="comensales" size="3" /></td>
</tr>
<tr>
<th rowspan="2" align="center" valign="top" bgcolor="#7D0000" scope="row">
<div align="left">
<p class="caja"><strong>Comentarios:</strong></p>
</div>
<img src="../graficos/escudo.gif" width="72" height="91">
<td valign="top"> <textarea name="comentarios" id="comentarios" cols="40" rows="5"></textarea></td>
</tr>
<tr>
<td height="33" align="center" valign="top">
<div align="center">
<input name="bot&oacute;n" type="submit" value="Enviar" />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input name="reset" type="reset" value="Borrar" />
</div></td>
</tr>
</table>
<div align="center"></div>
</form>
<?php
}else{

echo "Ha ocurrido un error";
}

?>
</body>
</html>



Formulario que envía la información de la reserva y la muestra al cliente:

<html>
<head>
<title>Recibir Reservas</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="../graficos/la_cantina_css.css" rel="stylesheet" type="text/css">
</head>

<body bgcolor="#B8B198" link="#FFFFFF" vlink="#FFFFFF" alink="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<?php
if ($_POST){

$nombre = $_POST["nombre"];
$telefono = $_POST["telefono"];
$email = $_POST["email"];
$fecha = $_POST["fecha"];
$hora = $_POST["hora"];
$comensales = $_POST["comensales"];
$comentarios = $_POST["comentarios"]; ?>
<?php

$cuerpo .="Nombre: ".$_POST["nombre"]."
"."<br />";
$cuerpo .="Teléfono: ".$_POST["telefono"]."
"."<br />";
$cuerpo .="E-mail: ".$_POST["email"]."
"."<br />";
$cuerpo .="Fecha: ".$_POST["fecha"]."
"."<br />";
$cuerpo .="Hora: ".$_POST["hora"]."
"."<br />";
$cuerpo .="Comensales: ".$_POST["comensales"]."
"."<br />";
$cuerpo .="Comentarios: ".$_POST["comentarios"]."
"."<br />";

$headers="MIME-Version: 1.0
";
$headers.= "Content-type: text/html; charset=iso-8859-1
";

mail("reservas arroba tucorreo.com","Solicitud de reserva",$cuerpo,$headers);
}else{
echo "Lo sentimos, pero su solicitud no ha podido ser cursada. Inténtelo de nuevo y en caso de no poder, póngase en contacto telefónico con nosotros: 958 xxx xxx";
}
?>
<table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td align="center" valign="middle">
<table width="499" border="0" align="center" cellpadding="7" cellspacing="0" bgcolor="#EEEEE3">
<tr bgcolor="#990000" class="caja">
<td colspan="2">
<div align="center"><span class="marron"><em><strong><font color="#DBCC79">Su
solicitud ha sido cursada correctamente.</font></strong></em></span><font color="#696347"><em><font color="#FFFFFF"><span class="marron"><strong><em><font color="#DBCC79"><br>
En breve nos pondremos en contacto con usted para confirmar su reserva.</font></em></strong></span><br>
</font></em></font></div></td>
</tr>
<tr>
<td width="26%" height="125" valign="middle" bgcolor="#EEEEE3"> <div align="center"><img src="file:///C|/Documents%20and%20Settings/a/Mis%20documentos/00%20Web/Padulcofrade/escudo.gif" width="116" height="150"></div></td>
<td width="74%" align="left" valign="middle" bgcolor="#EEEEE3"><strong><font size="2" face="Arial, Helvetica, sans-serif">
Nombre: <?php echo $nombre;?><br/>
Teléfono: <?php echo $telefono;?><br/>
E-mail: <?php echo $email;?><br/>
Fecha: <?php echo $fecha;?><br/>
Hora: <?php echo $hora;?> <br/>
Comensales: <?php echo $comensales;?> <br/>
Comentarios: <?php echo $comentarios;?> </p></font></font></strong></td>
</tr>
<tr bgcolor="#333333">
<td height="26" colspan="2">
<div align="right" class="mostaza"><a href="Tu dominio">Volver
<img src="../graficos/flecha.gif" width="11" height="7" border="0">
</a></div></td>
</tr>
</table>
</td>
</tr>
</table>

</body>
</html>


Lo dicho, ya que está depuradito, a disfutarlo todo el que lo necesite.
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




La zona horaria es GMT -6. Ahora son las 17:26.