Bueno, tal y como había comentado, voy a postear aquí la solución al problema que plantee por si a alguien le puede servir de ayuda...
Finalmente he decidido realizar los cálculos con javascript y utilizar php unicamente para el envio del mail. Así me evito el problema de los dos botones, en el mismo formulario, apuntando al mismo php y, como los cálculos son sencillos, no tengo ningún problema de hacerlo con js. Además, creo que todo mucho más ordenado y es más fácil de entender para novatos como yo....
Por un lado, tendría el formulario en html...
Código HTML:
<table width="50%" border="0">
<form name="formReserva" action="envio.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="curso" name="curso">
<option>Elige tipo de curso</option>
<option value="basico">Curso Básico</option>
<option value="intensivo">Curso Intensivo </option>
</select>
</td>
</tr>
<tr>
<td><label>Tipo de alojamiento:</label></td>
<td><select id="alojamiento" name="alojamiento">
<option>Elige tipo de alojamiento</option>
<option value="compartido">Compartido</option>
<option value="individual">Individual</option>
<option value="sinalojamiento">Sin alojamiento</option>
</select>
</td>
</tr>
<tr>
<td><label>Número de semanas:</label></td>
<td><input id="semanas" name="semanas" size="20" type="text" /></td>
</tr>
<tr>
<td><label>Fecha de reserva:</label></td>
<td><select id="temporada" name="temporada">
<option>Elige la fecha de llegada</option>
<option value="baja">Temporada baja</option>
<option value="media">Temporada Media</option>
<option value="alta">Temporada Alta</option>
</select>
</td>
</tr>
<tr>
<td><input type="button" name="calcular" onclick="calcula();" value="Calcula el precio de tu curso" /></td>
<td><input type="text" value="" 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" name="mensaje"></textarea></td>
</tr>
<tr>
<td>Haz la reserva</td>
<td>
<input name="enviar" type="submit" value="Enviar reserva" />
</td>
</tr>
</form>
</table>
por otro lado, el código javascript para realizar el cálculo
Código Javascript
:
Ver originalfunction calcula(){
if(document.formReserva.curso.value == "basico"){
var tipoCurso = "cursoBasico";
}else{
var tipoCurso = "cursoIntensivo";
}
if(tipoCurso == "cursoBasico"){
var preciosCurso = [12,110,147];
} else {
var preciosCurso = [17,75,210];
}
if(document.formReserva.alojamiento.value == "compartido"){
var tipoAlojamiento = "alojamientoCompartido";
}else if(document.formReserva.alojamiento.value == "individual"){
var tipoAlojamiento = "alojamientoIndividual";
}else{
var tipoAlojamiento = "noAlojamiento";
}
if(tipoAlojamiento == "alojamientoCompartido"){
var preciosAlojamiento = [4,8,13];
} else if(tipoAlojamiento == "alojamientoIndividual") {
var preciosAlojamiento = [9,16,27];
}else if(tipoAlojamiento == "noAlojamiento"){
var preciosAlojamiento = [0,0,0];
}
var semanas=document.formReserva.semanas.value
if(document.formReserva.temporada.value == "baja"){
var precioCurso = preciosCurso[0];
var precioAlojamiento = preciosAlojamiento[0];
}else if(document.formReserva.temporada.value == "media"){
var precioCurso = preciosCurso[1];
var precioAlojamiento = preciosAlojamiento[1];
}else{
var precioCurso = preciosCurso[2];
var precioAlojamiento = preciosAlojamiento[2];
}
var precioTotal = (precioCurso+precioAlojamiento)*semanas;
document.formReserva.total.value = precioTotal;
}
y por otro, el código php para el envio del mail
Código PHP:
$mail='[email protected]';
$nombre = $_POST['nombre'];
$telefono = $_POST['telefono'];
$email = $_POST['email'];
$curso=$_POST['curso']; //basico
$alojamiento=$_POST['alojamiento']; //compartido
$semanas=$_POST['semanas']; //2
$temporada=$_POST['temporada']; //baja
$preciototal=$_POST['total'];
$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,"Solicitud de reserva",$message))
Header ("Location: $thank" );
Faltaría, para completar un poco mejor el formulario, validar los campos...
Creo que no me he dejado nada, espero que les sirva de ayuda a futuros...
Quería agradecer, de paso, la ayuda prestada sobre todo por IEKK.
Un saludo