No tengo unos conocimiento de php muy extensos y estoy teniendo problemas con un formulario, les explico
El formulario es un formulario de reserva que, además, permite calcular el precio de la reserva antes de ser enviado por e-mail...
El problema que tengo es que, cuando le doy al botón calcular, en vez de mostrarme el precio final en el campo que he habilitado para ello, me manda directamente a la página de agradecimiento. No se si tengo que separar ambas acciones en php distintos o lo tengo bien así.
Por otro lado, el mail lo manda perfectamente excepto con el campo del precio, les dejo los códigos por si alguien me puede ayudar...
Ambos funcionan perfectamente por separado, pero a la hora de unirlos me da problemas.
Igual el codigo php está un poco desordenado porque es el fruto de dos php distintos, un formulario de contacto y otro de calculo de precios, que he unido en uno solo... espero que no sea muy difícil de entender
Código HTML :
<table width="50%" border="0"> <form action="formB.php" method="post"> <tr> <td><label>Nombre:</label></td> <td><input id="nombre" class="inputForm" name="nombre" type="text" /></td> </tr> <tr> <td><label>Teléfono:</label></td> <td><input id="telefono" class="inputForm" name="telefono" type="text" /> </td> </tr> <tr> <td><label>E-mail:</label></td> <td><input id="email" class="inputForm" name="email" type="text" /> </td> </tr> <tr> <td><label>Tipo de curso:</label></td> <td><select id="field1" name="curso"><option>Elige tipo de curso</option> <option value="basico">Curso Básico (20 clases, por semana, de 45 minutos cada una)</option> <option value="intensivo">Curso Intensivo (30 clases, por semana, de 45 minutos cada una)</option> </select></td> </tr> <tr> <td><label>Tipo de alojamiento:</label></td> <td><select id="field2" name="alojamiento"><option>Elige tipo de alojamiento</option> <option value="compartido">Compartido (Habitación compartida de 2 ó 3 personas)</option> <option value="individual">Individual (Habitación individual)</option> <option value="sinalojamiento">Sin alojamiento</option> </select></td> </tr> <tr> <td><label>Número de semanas:</label></td> <td><input id="field3" class="semanas" name="semanas" size="20" type="text" /></td> </tr> <tr> <td><label>Fecha de reserva:</label></td> <td><select id="field4" name="temporada"> <option>Elige la fecha de llegada</option> <option value="baja">Temporada baja (Del 01/01/2011 al 31/05/2011)</option> <option value="media">Temporada Media (Del 01/09/2011 al 31/12/2011)</option> <option value="alta">Temporada Alta (Del 01/06/2011 al 30/08/2011)</option> </select></td> </tr> <tr> <td><input class="inputForm3" name="enviar" type="submit" value="Calcula el precio de tu curso" /></td> <td><input type="text" value="<?php echo $_GET["resultado"]?>" size="20" name="Total" id="Total" readonly="readonly"/></td> </tr> <tr> <td><label>Deja tu comentario:</label></td> <td> </td> </tr> <tr> <td>Caja comentario</td> <td><textarea id="mensaje" class="inputForm2" name="mensaje"></textarea></td> </tr> <tr> <td>Haz la reserva</td> <td><input class="inputForm3" name="enviar" type="submit" value="Enviar reserva" /></td> </tr> </form> </table>
y el php que tengo es éste:
Código PHP :
<?php $precioalojamiento=0; $preciocurso=0; $total=0; $curso=$_POST['curso']; $alojamiento=$_POST['alojamiento']; $semanas=$_POST['semanas']; $temporada=$_POST['temporada']; function calculoPrecios($tipo, $alojamiento, $semanas, $temporada){ $precioCurso = array('basico' => array('130' , '320' , '510'), 'intensivo' => array('190' , '470' , '695')); $precioAlojamiento = array('compartido' => array('100' , '300' , '450'), 'individual' => array('210' , '370' , '580')); $coefiTempora = 2; if($temporada == "baja") $coefiTempora = 0; if($temporada == "media") $coefiTempora = 1; $precioTotal=($precioCurso[$tipo][$coefiTempora]+$precioAlojamiento[$alojamiento][$coefiTempora])*$semanas; return $precioTotal ; } /*aqui intento mostrar el resultado del calculo en el campo de texto que he habilitado*/ header("Location: formB.html?resultado=$precioTotal"); $mail='[email protected]'; $precioTotal=($precioCurso[$tipo][$coefiTempora]+$precioAlojamiento[$alojamiento][$coefiTempora])*$semanas; $nombre = $_POST['nombre']; $telefono = $_POST['telefono']; $email = $_POST['email']; $mensaje = $_POST['mensaje']; $thank="gracias.html"; $message = " nombre:".$nombre." telefono:".$telefono." email:".$email." curso:".$curso." alojamiento:".$alojamiento." semanas:".$semanas." temporada:".$temporada." precio:".$precioTotal." mensaje:".$mensaje." "; if (mail($mail,"Mail recibido",$message)) Header ("Location: $thank" ); ?>
Espero que me puedan ayudar como otras veces, desde ya les quedo muy agradecido por su tiempo..
Un saludo