PHP - Problema formulario HTML - PHP

 
Vista:

Problema formulario HTML - PHP

Publicado por fon (3 intervenciones) el 22/10/2009 17:51:03
Buenas... Lo primero presentarme, ya que es la primera vez que participo activamente en el foro. Suelo mirar los temas habitualmente, pero esta es la primera vez que escribo un tema, y es por que estoy un poco desesperadillo...

Os cuento, he montado un formulario en html, y quiero que me envie los campos a un formulario... el tema es que si que me envia un correo, pero no muestra nada que tenga que ver con las variables... me los manda vacios... os dejo el codigo html y el codigo PHP, por si veis el fallo, ya que he probado de mil maneras distintas y no me funciona:

CODIGO HTML:
===========

<form id="form1" name="form1" method="post" action="enviar_correo.php" enctype="text/plain">
<p align="center">
<label>Nombre:<input type="text" name="nombre" id="nombre" /></label>
<label>Teléfono:<input name="telefono" type="text" id="telefono" size="9" /></label>
</p>
<p align="center">
<label>Correo Electrónico:<input name="email" type="text" id="email" size="35" /></label>
<p align="center">
<label>Origen:<input name="origen" type="text" id="origen" size="15" /></label>
<label>Destino:<input name="destino" type="text" id="destino" size="15" /></label></p>
<p align="center">Conductor:
<label><input type="radio" name="radio" id="cond_si" value="cond_si" />Si</label>
<label>
<input type="radio" name="radio" id="cond_no" value="cond_no" /> No</label>                          Número viajeros:
<input name="viajeros" type="text" id="viajeros" size="2" />
</p>
<p align="center">
<table width="270" align="center" cellspacing="0" cellpadding="0" style="border-collapse: collapse"><tr>
<td width="100" align="right">Fecha de salida:</td>
<td><input type="text" name="salida" id="f_date_c" readonly="1" /></td>
<td><img src="images/ico_cal.png" id="f_trigger_c" style="cursor: pointer; border: 1px solid red;" title="Date selector" onmouseover="this.style.background='red';" onmouseout="this.style.background=''" /></td>
</table>
<script type="text/javascript">
Calendar.setup({
inputField : "f_date_c", // id of the input field
ifFormat : "%e de %B de %Y", // format of the input field
button : "f_trigger_c", // trigger for the calendar (button ID)
align : "Tl", // alignment (defaults to "Bl")
singleClick : true
});</script></p>
<p align="center">
<table width="270" align="center" cellspacing="0" cellpadding="0" style="border-collapse: collapse"><tr>
<td width="100" align="right">Fecha de regreso:</td>
<td><input type="text" name="salida" id="f_date_c1" readonly="1" /></td>
<td><img src="images/ico_cal.png" id="f_trigger_c1" style="cursor: pointer; border: 1px solid red;" title="Date selector" onmouseover="this.style.background='red';" onmouseout="this.style.background=''" /></td>
</table>
<script type="text/javascript">
Calendar.setup({
inputField : "f_date_c1", // id of the input field
ifFormat : "%e de %B de %Y", // format of the input field
button : "f_trigger_c1", // trigger for the calendar (button ID)
align : "Tl", // alignment (defaults to "Bl")
singleClick : true
});</script></p>
<p align="center">Alojamiento y desayuno por cuenta de:
<label><input type="radio" name="radio" id="aloj_emdosa" value="aloj_emdosa" />Emdosa</label>
<label><input type="radio" name="radio" id="aloj_cliente" value="aloj_cliente" />Cliente</label>
</p>
<p align="center">Comidas por cuenta de:
<label><input type="radio" name="radio2" id="comida_emdosa" value="comida_emdosa" />Emdosa</label>
<label><input type="radio" name="radio2" id="comida_cliente" value="comida_cliente" />Cliente</label>
</p>
<p align="center">
<label>Observaciones:<br><textarea name="observaciones" id="observaciones" cols="40" rows="5"></textarea></label>
</p>
<p align="center">
<label><input type="submit" name="enviar" id="enviar" value="Enviar" /></label>
</p>
</form>


CODIGO PHP:
==========

<?php
//Estoy recibiendo el formulario, compongo el cuerpo
$cuerpo = "Formulario enviado\n";
$cuerpo .= "Nombre: " . $_POST["nombre"] . "\n";
$cuerpo .= "Telefono: " . $_POST["telefono"] . "\n";
$cuerpo .= "Email: " . $_POST["email"] . "\n";
$cuerpo .= "Origen: " . $_POST["origen"] . "\n";
$cuerpo .= "Destino: " . $_POST["destino"] . "\n";
$cuerpo .= "Conductor: " . $_POST["conductor"] . "\n";
$cuerpo .= "Viajeros: " . $_POST["viajeros"] . "\n";
$cuerpo .= "Salida: " . $_POST["salida"] . "\n";
$cuerpo .= "Regreso: " . $_POST["regreso"] . "\n";
$cuerpo .= "Alojamiento: " . $_POST["alojamiento"] . "\n";
$cuerpo .= "Comida: " . $_POST["comida"] . "\n";
$cuerpo .= "Comentarios: " . $_POST["coment"] . "\n";

//mando el correo...
mail("[email protected]","Formulario recibido",utf8_decode($cuerpo));

//doy las gracias por el envío
echo "Gracias por rellenar el formulario. Se ha enviado correctamente.";
?>

y lo q me manda al correo es esto:

Formulario enviado
Nombre:
Telefono:
Email:
Origen:
Destino:
Conductor:
Viajeros:
Salida:
Regreso:
Alojamiento:
Comida:
Comentarios:


Si alguien puede echarme una mano, le estaré enormemente agradecido, ya que me estoy dejando lo ojos, y no le encuentro el fallo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Problema formulario HTML - PHP

Publicado por Joe Black (277 intervenciones) el 22/10/2009 22:17:23
Estimado,

El problema lo tienes con el JScript, ya que tome el ejemplo, elimine lo que tiene que ver con el javascript para las fechas y funciono, ademas, en las versiones nuevas de PHP (5+) aparece con fuerza el operador $_REQUEST que envuelve todas las variables pasadas por POST o GET, las que pase con este metodo funcionaron bien, las otras no las muestra, te paso el codigo a continuacion.

Envio.html
<html>
<body>
<form id="form1" name="form1" method="post" action="enviar_correo.php">
<p align="center">
<label>Nombre:<input type="text" name="nombre" id="nombre" /></label>
<label>Teléfono:<input name="telefono" type="text" id="telefono" size="9" /></label>
</p>
<p align="center">
<label>Correo Electrónico:<input name="email" type="text" id="email" size="35" /></label>
<p align="center">
<label>Origen:<input name="origen" type="text" id="origen" size="15" /></label>
<label>Destino:<input name="destino" type="text" id="destino" size="15" /></label></p>
<p align="center">Conductor:
<label><input type="radio" name="radio" id="cond_si" value="cond_si" />Si</label>
<label>
<input type="radio" name="radio" id="cond_no" value="cond_no" /> No</label> Número viajeros:
<input name="viajeros" type="text" id="viajeros" size="2" />
</p>
<p align="center">
<table width="270" align="center" cellspacing="0" cellpadding="0" style="border-collapse: collapse"><tr>
<td width="100" align="right">Fecha de salida:</td>
<td><input type="text" name="salida" id="f_date_c" readonly="1" /></td>
<td></td>
</table>
</p>
<p align="center">
<table width="270" align="center" cellspacing="0" cellpadding="0" style="border-collapse: collapse"><tr>
<td width="100" align="right">Fecha de regreso:</td>
<td><input type="text" name="salida" id="f_date_c1" readonly="1" /></td>
<td></td>
</table>
</p>
<p align="center">Alojamiento y desayuno por cuenta de:
<label><input type="radio" name="radio" id="aloj_emdosa" value="aloj_emdosa" />Emdosa</label>
<label><input type="radio" name="radio" id="aloj_cliente" value="aloj_cliente" />Cliente</label>
</p>
<p align="center">Comidas por cuenta de:
<label><input type="radio" name="radio2" id="comida_emdosa" value="comida_emdosa" />Emdosa</label>
<label><input type="radio" name="radio2" id="comida_cliente" value="comida_cliente" />Cliente</label>
</p>
<p align="center">
<label>Observaciones:<br><textarea name="observaciones" id="observaciones" cols="40" rows="5"></textarea></label>
</p>
<p align="center">
<label><input type="submit" name="enviar" id="enviar" value="Enviar" /></label>
</p>
</form>

=============================================
<?php
//Estoy recibiendo el formulario, compongo el cuerpo
$cuerpo = "Formulario enviado\n";
$cuerpo .= "Nombre: " . $_REQUEST[nombre] . "\n";
$cuerpo .= "Telefono: " . $_REQUEST["telefono"] . "\n";
$cuerpo .= "Email: " . $_REQUEST["email"] . "\n";
$cuerpo .= "Origen: " . $_REQUEST["origen"] . "\n";
$cuerpo .= "Destino: " . $_REQUEST["destino"] . "\n";
$cuerpo .= "Conductor: " . $_POST["conductor"] . "\n";
$cuerpo .= "Viajeros: " . $_POST["viajeros"] . "\n";
$cuerpo .= "Salida: " . $_POST["salida"] . "\n";
$cuerpo .= "Regreso: " . $_POST["regreso"] . "\n";
$cuerpo .= "Alojamiento: " . $_POST["alojamiento"] . "\n";
$cuerpo .= "Comida: " . $_POST["comida"] . "\n";
$cuerpo .= "Comentarios: " . $_POST["coment"] . "\n";

//mando el correo...
#mail("[email protected]","Formulario recibido",utf8_decode($cuerpo));
echo $cuerpo;
//doy las gracias por el envío
echo "Gracias por rellenar el formulario. Se ha enviado correctamente.";
?>

Suerte
Joe
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problema formulario HTML - PHP

Publicado por fon (3 intervenciones) el 23/10/2009 01:29:24
gracias por tu tiempo, joe...

investigando he descubierto que quitando sólamente

enctype="text/plain"

de la etiqueta form, funciono correctamente,,, también tuve que pulir un poco el formulario, ya que los botones radrial tenian el nombre repetido...

lo digo por si otra persona se ve en la misma, o le pueda servir este codigo....

un saludo, y gracias nuevamente

(todo lo relacionado con el javascript lo tengo bien definido en el head.... si alguien lo necesita, no tiene nada mas que pedirlo...)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:Problema formulario HTML - PHP

Publicado por Gabriel (30 intervenciones) el 23/10/2009 09:20:56
Interesante!

Podrias postear el codigo completo?

Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problema formulario HTML - PHP

Publicado por fon (3 intervenciones) el 23/10/2009 12:50:14
claro que si... pongo el html, porque el php funciona tal y como lo puse en el primer post:
(os faltaría la el icono para el calendario, q estoy seguro que lo podeis conseguir en cualquier lado...google images, por ejemplo)

CODIGO HTML
============

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>EMDOSA - Alquiler de autocares y microbuses</title>
<link href="style.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="calendar.js"></script>
<script type="text/javascript" src="lang/calendar-es.js"></script>
<script type="text/javascript" src="calendar-setup.js"></script>
<style type="text/css">
<!--
.Estilo3 {color: #000000; font-weight: bold; }
-->
</style>
</head>

<body>
<div id="main" align="center">
<div id="content">
<div id="header">
<div class="name2"><br />
<span></span></div>
<div class="menu1">   <a href="index.html">INICIO</a><img src="images/wp.gif" alt="" align="middle"/><a href="reservas.html">PRESUSPUESTOS</a><img src="images/wp.gif" alt="" align="middle"/><a href="clientes.html">ZONA CLIENTES</a><img src="images/wp.gif" alt="" align="middle"/> </div>
<div style="background-image:url(images/top.jpg)">
<object id="FlashID" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="400" height="120">
<param name="movie" value="top.swf" />
<param name="quality" value="high" />
<param name="wmode" value="transparent" />
<param name="swfversion" value="6.0.65.0" />
<!-- Esta etiqueta param indica a los usuarios de Flash Player 6.0 r65 o posterior que descarguen la versión más reciente de Flash Player. Elimínela si no desea que los usuarios vean el mensaje. -->
<param name="expressinstall" value="Scripts/expressInstall.swf" />
<!-- La siguiente etiqueta object es para navegadores distintos de IE. Ocúltela a IE mediante IECC. -->
<!--[if !IE]>-->
<object type="application/x-shockwave-flash" data="top.swf" width="400" height="120">
<!--<![endif]-->
<param name="quality" value="high" />
<param name="wmode" value="transparent" />
<param name="swfversion" value="6.0.65.0" />
<param name="expressinstall" value="Scripts/expressInstall.swf" />
<!-- El navegador muestra el siguiente contenido alternativo para usuarios con Flash Player 6.0 o versiones anteriores. -->
<div>
<h4>El contenido de esta página requiere una versión más reciente de Adobe Flash Player.</h4>
<p><a href="http://www.adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Obtener Adobe Flash Player" /></a></p>
</div>
<!--[if !IE]>-->
</object>
<!--<![endif]-->
</object>
</div>
<div class="menu2">
<a href="seguridad.html">SEGURIDAD</a><img src="images/wp2.gif" align="middle" alt="" />
<a href="calidad.html">CALIDAD</a><img src="images/wp2.gif" align="middle" alt="" />
<a href="mabiente.html">MEDIO AMBIENTE</a><img src="images/wp2.gif" align="middle" alt="" />
<a href="empresa.html">LA EMPRESA</a><img src="images/wp2.gif" align="middle" alt="" />
<a href="flota.html">NUESTRA FLOTA</a><img src="images/wp2.gif" align="middle" alt="" />
<a href="servicios.html">SERVICIOS</a><img src="images/wp2.gif" align="middle" alt="" />
<a href="galeria.html">GALERÍA DE FOTOS</a></div>
<div class="w_bg3">
<div class="c_text"><strong>EMDOSA </strong>AUTOCARES Y MICROBUSES</div>
<div class="news"><strong>PRESUPUESTOS</strong> EMDOSA</div>
</div>
</div>
<div class="bg4">
<div class="bg3">
<div id="left2">
<p><strong>Solicite presuspuesto sin compromiso</strong><br />
<br />
Ofrecemos todo tipo de servicios a medida, ya sea para empresas o particulares, grupos grandes o reducidos. Disponemos de nuestra propia Agencia de Viajes. Ofrecemos sus servicios para la Gestión de Hoteles, Restaurantes o simplemente un servicio integral para su viaje, excursiones o visita.<br /><br />
<img src="images/h_l.gif" alt="" /><br /><br />
<strong>Formulario de reserva</strong></p>
<form id="form1" name="form1" method="post" action="enviar_correo.php">
<p align="center">
<label>Nombre:
<input type="text" name="nombre" id="nombre" />
</label>
<label>Teléfono:
<input name="telefono" type="text" id="telefono" size="9" />
</label>
</p>
<p align="center">
<label>Correo Electrónico:
<input name="email" type="text" id="email" size="35" />
</label>
<p align="center">
<label>Origen:
<input name="origen" type="text" id="origen" size="15" />
</label>
<label>Destino:
<input name="destino" type="text" id="destino" size="15" />
</label></p>
<p align="center">
Conductor:
<label>
<input type="radio" name="conductor" id="cond_si" value="cond_si" />
Si</label>
<label>
<input type="radio" name="conductor" id="cond_no" value="cond_no" />
No</label>                          Número viajeros:
<input name="viajeros" type="text" id="viajeros" size="2" />
</p>
<p align="center">
<table width="270" align="center" cellspacing="0" cellpadding="0" style="border-collapse: collapse"><tr>
<td width="100" align="right">Fecha de salida:</td>
<td><input type="text" name="salida" id="f_date_c" readonly="1" /></td>
<td><img src="images/ico_cal.png" id="f_trigger_c" style="cursor: pointer; border: 1px solid red;" title="Date selector"
onmouseover="this.style.background='red';" onmouseout="this.style.background=''" /></td>
</table>
<script type="text/javascript">
Calendar.setup({
inputField : "f_date_c", // id of the input field
ifFormat : "%e de %B de %Y", // format of the input field
button : "f_trigger_c", // trigger for the calendar (button ID)
align : "Tl", // alignment (defaults to "Bl")
singleClick : true
});</script></p>
<p align="center">
<table width="270" align="center" cellspacing="0" cellpadding="0" style="border-collapse: collapse"><tr>
<td width="100" align="right">Fecha de regreso:</td>
<td><input type="text" name="regreso" id="f_date_c1" readonly="1" /></td>
<td><img src="images/ico_cal.png" id="f_trigger_c1" style="cursor: pointer; border: 1px solid red;" title="Date selector"
onmouseover="this.style.background='red';" onmouseout="this.style.background=''" /></td>
</table>
<script type="text/javascript">
Calendar.setup({
inputField : "f_date_c1", // id of the input field
ifFormat : "%e de %B de %Y", // format of the input field
button : "f_trigger_c1", // trigger for the calendar (button ID)
align : "Tl", // alignment (defaults to "Bl")
singleClick : true
});</script></p>
<p align="center">Alojamiento y desayuno por cuenta de:
<label>
<input type="radio" name="alojamiento" id="aloj_emdosa" value="aloj_emdosa"/>
Emdosa</label>
<label>
<input type="radio" name="alojamiento" id="aloj_cliente" value="aloj_cliente" />
Cliente</label>
</p>
<p align="center">Comidas por cuenta de:
<label>
<input type="radio" name="comida" id="comida_emdosa" value="comida_emdosa" />
Emdosa</label>
<label>
<input type="radio" name="comida" id="comida_cliente" value="comida_cliente" />
Cliente</label>
</p>
<p align="center">
<label>Observaciones:<br>
<textarea name="coment" id="coment" cols="40" rows="5">

los archivos .js, podeis encontrarlos aquí:

http://www.dynarch.com/projects/calendar/

espero q os sea util, y si necesitan algo mas, diganmelo...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar