Comunidad de diseño web y desarrollo en internet online

Formulario PHP

Citar            
MensajeEscrito el 12 Nov 2014 11:06 am
buenos dias programadores :cool: ,
tengo que hacer un calculador de hosting, donde pido numero de cores, ram, disco duro, etc.
luego cuando le doi a calcular, me muestra el precio total de lo que he pedido.
el problema que tengo que cuando le doi a calcular, si por ejemplo he elegido 3GB de RAM, se me vuelve a 1GB, se me 'reinicia' el formulario.
mi codigo es el siguiente:
<html>
<head>
<title>Formulario recursivo</title>
</head>
<body>

<form method="post" <?php echo $_SERVER['PHP_SELF']; ?>">
<ul>
<li>
<label for="core">Cores</label>
<select name="core" class="inputs">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
</li>
<li>
<label for="ram">RAM</label>
<select name="ram" class="inputs">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
</li>
<li>
<label for="hd">Disco Duro</label>
<select name="hd" class="inputs">
<option value="100">100GB</option>
<option value="200">200GB</option>
<option value="300">300GB</option>
</select>
</li>
<li>
<label for="anchoBanda">Ancho Banda</label>
<select name="anchoBanda" class="inputs">
<option value="10">10MB</option>
<option value="30">30MB</option>
<option value="100">100MB</option>
</select>
</li>
<li>
<label for="so">Sistema Operativo</label>
<select name="so" class="inputs">
<option value="windows">Windows</option>
<option value="linux">Linux</option>
</select>
</li>
<li>
<input type="submit" value="Enviar" name="enviar">
</li>
</ul>
</FORM>
<?php
if(isset($_REQUEST['enviar'])) //preguntamos si el botón ya fue pulsado o presionado
{
$numeroCore = $_POST['core'];
$numeroRam = $_POST['ram'];
$hd = $_POST['hd'];
$anchoBanda = $_POST['anchoBanda'];
$so = $_POST['so'];

$link = mysqli_connect('localhost','root','') or die('Error en la conexion.');
$db = mysqli_select_db($link, 'Calculador');

//CALCULAR CORE
//HACEMOS LA CONSULTA
$precioCore = mysqli_query($link, "SELECT precio
FROM productos
WHERE nombre='core'");
//RECORREMOS LOS CORE Y MOSTRAMOS EL PRECIO TOTAL
while($fila = mysqli_fetch_array($precioCore))
{
$precioTotalCore = $fila['precio'] * $numeroCore;
//echo 'Precio total de core: ' . $precioTotalCore . '<br>';
}

//CALCULAR RAM
//HACEMOS LA CONSULTA
$precioRam = mysqli_query($link, "SELECT precio
FROM productos
WHERE nombre='ram'");
//RECORREMOS LAS RAM Y MOSTRAMOS EL PRECIO TOTAL
while($fila = mysqli_fetch_array($precioRam))
{
$precioTotalRam = $fila['precio'] * $numeroRam;
//echo 'Precio total de RAM: ' . $precioTotalRam . '<br>';
}

//CALCULAR HD
//HACEMOS LA CONSULTA
$precioHD = mysqli_query($link, "SELECT precio
FROM productos
WHERE nombre='hd'");
//RECORREMOS HD Y MOSTRAMOS EL PRECIO TOTAL
while($fila = mysqli_fetch_array($precioHD))
{
$precioTotalHD = $fila['precio'] * $hd;
//echo 'Precio total de HD: ' . $precioTotalHD . '<br>';
}

//CALCULAR ANCHO BANDA
//HACEMOS LA CONSULTA
$precioAnchoBanda = mysqli_query($link, "SELECT precio
FROM productos
WHERE nombre='ancho_banda'");
//RECORREMOS ANCHO DE BANDA Y MOSTRAMOS EL PRECIO TOTAL
while($fila = mysqli_fetch_array($precioAnchoBanda))
{
$precioTotalAnchoBanda = $fila['precio'] * $anchoBanda;
//echo 'Precio total de Ancho de Banda: ' . $precioTotalAnchoBanda . '<br>';
}

//CALCULAR SO
//HACEMOS LA CONSULTA
$precioSO = mysqli_query($link, "SELECT precio
FROM productos
WHERE nombre='" . $so . "'");
//RECORREMOS LOS CORE Y MOSTRAMOS EL PRECIO TOTAL
while($fila = mysqli_fetch_array($precioSO))
{
$precioTotalSO = $fila['precio'];
//echo 'Precio total del Sistema Operativo: ' . $precioTotalSO . '<br>';
}

//PRECIO TOTAL DEL SERVICIO
$precioTotalServicio = $precioTotalCore + $precioTotalRam + $precioTotalHD + $precioTotalAnchoBanda + $precioTotalSO;
mysqli_close($link);//CERRAMOS LA BD

echo "Precio total: " . $precioTotalServicio . '€.';
}
?>
</body>
</html>

Por sinmanuu

0 de clabLevel



 

firefox
Citar            
MensajeEscrito el 12 Nov 2014 12:11 pm
Usa variables de sesión.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 12 Nov 2014 04:03 pm
O lo de la vieja escuela, al enviar regresa las variables a un input hidden.


Tambien podrias hacer la ejecución en una página nueva es decir un "target='_blank'"

O envíar con Ajax, ya depende de ti que es lo que se te haga mas fácil y que le entiendas principalmente.

Por elporfirio

Claber

652 de clabLevel

1 tutorial

Genero:Masculino  

FullStack Web Developer

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.