voy a intentar explicaros lo que necesito a ver si entre todos podéis echarme una mano.
Estoy montando una empresa de paquetería y necesito un calculador de precios, es decir, que metiendole el tamaño del paquete y su peso me dé un precio. Ahora bien no tengo suficiente idea de programación en php como para hacerlo todo y que funcione correctamente, así que espero puedan echarme una mano.
Os copio el HTML y el PHP.
Necesito que me corrijais ambos y que se imprima en el hueco el precio final que sea cuando se le de al botón resultado.
Muchas gracias de ante mano
Código:
<html>
<head>
</head>
<body>
<div id="calculadora">
<form action="calculadora.php" method="POST">
<tr>
<td><label>Peso (Kg):</label></td>
<td><input type="text" name="peso" maxlength="3" size="3"></td><br>
<td><label>Alto (cm):</label></td>
<td><input type="text" name="alto" maxlength="3"size="3"></td><br>
<td><label>Largo (cm):</label></td>
<td><input type="text" name="largo" maxlength="3"size="3"></td><br>
<td><label>Ancho (cm):</label></td>
<td><input type="text" name="ancho" maxlength="3"size="3"></td><br>
<td><select name="tipo"><option value="sobre">paquetes hasta 2 kg </option>
<option value="economico">envío económico para paquetes mayores a 2 kg</option>
<option value="urgente">envíos urgentes</option>
</select><br>
<td><select name="distancia"><option value="provincial">provincial</option>
<option value="regional">regional</option>
<option value="nacional">nacional</option>
<input type="text" name="preciofinal" size="3">
</tr>
</form>
</div>
</body>
</html>
Código:
<?php
$alto= 'alto';
$largo= 'largo';
$ancho= 'ancho';
$peso= 'peso';
//no sé si esto funciona, sino habría que sustituir cada X por $peso
$peso=x
$alto+$largo+$ancho==y
if ($y<=100)
$precioincremento = 0
elseif ($y > 100)
{
$precioincremento = $y-100 * 0.1;
}
if($_POST['tipo']=="sobre"){
if($_POST['distancia']=="provincial"){
$precio+="4,50";}
if($_POST['peso']>2){
$_POST['total']="Lo sentimos. En esta opción el paquete no puede ser mayor a 2 kg, escoja la opción de paquetes mayores a 2 kg. Gracias.";}
elseif($_POST['distancia']=="regional"){
$precio+="4,80";}
if($_POST['PESO']>2){
$precio="Lo sentimos. En esta opción el paquete no puede ser mayor a 2 kg, escoja la opción de paquetes mayores a 2 kg. Gracias.";}
elseif($_POST['distancia']=="nacional"){
$precio+="5,50";}
if($_POST['peso']>2){
$precio="Lo sentimos. En esta opción el paquete no puede ser mayor a 2 kg, escoja la opción de paquetes mayores a 2 kg. Gracias.";}
}
$preciofinal = $precio + $precioincremento
if ($_POST ['tipo']=="economico") {
//No tendría sentido el de X menor a 2, pero lo dejo de momento por si cambiaran los precios.
if($_POST['distancia']=="provincial"){
if ($x<=2) $x=4.50;
if ($x<=5 && $x>=2.1) $x=4.60;
if ($x<=10 && $x>=5.1) $x=4.72;
if ($x<=11 && $x>=10.1) $x=5.41;
}
// No sé si habría que poner el $preciofinal en cada uno o sirve poniendolo sólo al final
if($_POST['distancia']=="regional"){
if ($x<=2) $x=4.65;
if ($x<=5 && $x>=2.1) $x=4.70;
if ($x<=10 && $x>=5.1) $x=4.90;
if ($x<=11 && $x>=10.1) $x=5.61;
}
if($_POST['distancia']=="nacional"){
if ($x<=2) $x=4.85;
if ($x<=5 && $x>=2.1) $x=4.90;
if ($x<=10 && $x>=5.1) $x=5.50;
if ($x<=11 && $x>=10.1) $x=6.20;
}
if ($_POST ['tipo']=="urgente") {
if ($x<=2) $x=5.5;
if ($x<=5 && $x>=2.1) $x=6.60;
if ($x<=10 && $x>=5.1) $x=7.72;
if ($x<=11 && $x>=10.1) $x=8.41;
}
$preciofinal = $x + $precioincremento
<?