Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Formulario PHP

Estas en el tema de Formulario PHP en el foro de PHP en Foros del Web. buenos dias programadores, tengo que hacer un calculador de hosting, es un formulario donde se me pide cuantos cores tengo, cuantos GB de ram, cuando ...
  #1 (permalink)  
Antiguo 12/11/2014, 04:41
 
Fecha de Ingreso: mayo-2014
Mensajes: 4
Antigüedad: 9 años, 10 meses
Puntos: 0
Formulario PHP

buenos dias programadores,
tengo que hacer un calculador de hosting, es un formulario donde se me pide cuantos cores tengo, cuantos GB de ram, cuando disco duro, etc.
lo que quiero hacer es que cuando le de a calcular, me muestre el precio total(que lo hace) pero que se me guarde lo que he elegido, por ejemplo si eligo 3GB de RAM, se queden los 3GB, no se me vuelva a 1GB que es lo que me pasa.
este es mi codigo:

<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>

gracias por la ayuda
  #2 (permalink)  
Antiguo 12/11/2014, 05:20
Avatar de GeekGirl  
Fecha de Ingreso: julio-2014
Mensajes: 423
Antigüedad: 9 años, 9 meses
Puntos: 44
Respuesta: Formulario PHP

Tenes que guardar la opción seleccionada en una variable de sesión para que persista cuando se refresque la página por el envío del formulario.

$_SESSION['numeroCore'] = $numeroCore;

Y después usar ese valor para comparar contra el select. Si el valor es igual le pones el atributo selected.
  #3 (permalink)  
Antiguo 12/11/2014, 05:28
 
Fecha de Ingreso: mayo-2014
Mensajes: 4
Antigüedad: 9 años, 10 meses
Puntos: 0
Respuesta: Formulario PHP

buenos dias,
eso donde lo tengo que poner?
osea, creo la sesion antes del formulario y le doy el valor en la segunda parte del codigo no?
  #4 (permalink)  
Antiguo 12/11/2014, 05:43
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Formulario PHP

Se puede hacer de varias formas....

1.- Guardando los datos en la sessión.
2.- Usando AJAX y refrescando solo la parte donde muestras el resultado.
3.- Leyendo los datos que te llegan en el formulario y ademas de hacer los calculos poneiendo los en sus objetos, algo así:

Código PHP:
Ver original
  1. <?php
  2. $nombre="";
  3. $tipo="";
  4. if(isset($_POST["nombre"]))$nombre=$_POST["nombre"];
  5. if(isset($_POST["tipo"]))$tipo=$_POST["tipo"];?>
  6. <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
  7. Nombre&nbsp;<input name="nombre" type="text" id="nombre" value="<?php echo $nombre;?>"><br />
  8. Tipo saludo&nbsp;<select name="tipo" id="tipo">
  9.   <option value="1" <?php if($tipo==1){echo "selected";}?>>Hola</option>
  10.   <option value="2" <?php if($tipo==2){echo "selected";}?>>Adios</option>
  11. </select><br/>
  12.   <input name="bot" type="submit" value="Saluda">
  13. </form><br/>
  14. <br/>
  15. <?php
  16. if($nombre!="" && $tipo!=""){
  17. if($tipo==1){
  18. echo "Hola ";
  19. }else{
  20. echo "Adios ";
  21. }
  22. echo $nombre."!!!! <br />";
  23. }?>

(Hecho al vuelo, puede contener algun error mecanografico....)
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #5 (permalink)  
Antiguo 12/11/2014, 06:26
 
Fecha de Ingreso: mayo-2014
Mensajes: 4
Antigüedad: 9 años, 10 meses
Puntos: 0
Respuesta: Formulario PHP

buenos dias quimfv,
muchas gracais me ha funcionado!
tenia un codigo que era muy parecido al que me has puesto, pero cuando entraba por primera vez a la web, me salia que no habia definido las variables, pero si elegia las opciones del formulario y le daba a calculcar me lo calculaba y cambiaba el 'error' por la opcion que habia elegido.

muchas gracias por la ayuda!

Etiquetas: formulario, html, mysql, select
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:45.