Foros del Web » Programando para Internet » PHP »

Conversor de temperatura PHP

Estas en el tema de Conversor de temperatura PHP en el foro de PHP en Foros del Web. Buneos días, Estoy hacinedo un ejercico en php y no hay manera de que funcione, a ver si alguien me puede ajudar. El ejercico es ...
  #1 (permalink)  
Antiguo 25/11/2012, 03:41
 
Fecha de Ingreso: noviembre-2012
Mensajes: 3
Antigüedad: 12 años
Puntos: 0
Conversor de temperatura PHP

Buneos días,

Estoy hacinedo un ejercico en php y no hay manera de que funcione, a ver si alguien me puede ajudar. El ejercico es el siguiente:

Tengo el siguiente HTML:

<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>Conversor de temperatures</title>
</head>
<body>
<form action="exercici1.php" method="post">
<fieldset>
<legend>Conversor de temperatura</legend>
<p>Escriu una temperatura en Celsius / Fahrenheit</p>
<strong>Temperatura:</strong>
<input type="number" name="temp" size="7" maxlength="7">
<select name="unitat">
<option value="c" selected="selected">Celsius</option>
<option value="f">Fahrenheit</option>
</select>

<p><input type="submit" value="Convertir">
<input type="reset" value="Borrar" name="Reset"></p>
</fieldset>
</form>
</body>
</html>

Y quiero convertir los grados con este PHP:

<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>Conversor de temperatures</title>
</head>
<body>
<?php

$option = $_POST[] (no sé como coger lo que han selecionado)
$temp = $_POST[] (no sé como coger el valor de los grados)

if ($temp == "") {
echo "<p>No has escrit cap temperatura</p><p><input type='button' value='Enrera' onClick='history.go(-1);'></p>";
} elseif ($txtc == "") {
//Passar de celcius a Fahrenheit
$f = $c * 1.8 + 32;
echo "Temp: ".$f."<p><input type='button' value='Enrera' onClick='history.go(-1);'></p>";
} else {
//Passar de Fahrenheit a celsius
$c = $f / 1.8 - 32;
echo "Temp: ".$c."<p><input type='button' value='Enrera' onClick='history.go(-1);'></p>";
}
?>
</body>
</html>

Quiero coger el valor de los grados i luego la seleccion, si es C o F.

Muchas gracias.
  #2 (permalink)  
Antiguo 25/11/2012, 07:25
 
Fecha de Ingreso: julio-2005
Mensajes: 310
Antigüedad: 19 años, 4 meses
Puntos: 36
Respuesta: Conversor de temperatura PHP

Bon día anisakidae

Una forma sencilla de pasar valores a tu código PHP es mediante formularios. Existen dos métodos para hacerlo, mediante GET o POST.

Con el método GET los nombres de las variables y sus valores se podrán ver a través de la barra de direcciones. Por ejemplo:
http://miweb.com/mi_pagina_en_php.php?variable1=valor1&variable2=va lor2

¿Ves la lógica que sigo?

Con el método POST los nombres de las variables y sus valores no se verán a través de la barra de direcciones, ni podrás asignarles valores a través de ésta. Sólo podrás recoger y enviar aquello que escribas en los campos de tu formulario.

En tu ejercicio tienes el siguiente formulario(he borrado el código que no me interesa, tú lógicamente no lo borres):
Código HTML:
<form action="exercici1.php" method="post">
<input type="number" name="temp" size="7" maxlength="7">
<select name="unitat">
    <option value="c" selected="selected">Celsius</option>
    <option value="f">Fahrenheit</option>
</select>
<input type="submit" value="Convertir">
<input type="reset" value="Borrar" name="Reset">
</form> 
En la primera línea indicas el método (POST o GET). Además el atributo "action" te dice a qué script php mandarás los datos recogidos desde el formulario.

En tu formulario recoges datos desde inputs y selects. Fíjate en el atributo "name", lo tendrás que utilizar en tu script exercici1.php

Ahora vas a tu ejercicio exercici1.php y cuando envíes el formulario tendrás un array llamado $_POST[] con los valores del formulario. Para acceder a los valores de ese array tienes que fijarte en el valor que pusiste en el atributo "name" de los elementos de tu formulario, así tenemos pues:

$_POST['temp'] tiene la temperatura que pusiste en tu formulario
$_POST['unitat'] las unidades que indicaste en tu select (esta variable siempre tendrá los valores 'f' o 'c')

No sé si me he explicado bien...

Salut!
  #3 (permalink)  
Antiguo 25/11/2012, 08:25
 
Fecha de Ingreso: noviembre-2012
Mensajes: 3
Antigüedad: 12 años
Puntos: 0
Respuesta: Conversor de temperatura PHP

Muchas gracias kiko's, todo me ha quedado mucho más claro. Ahún así tengo problemas en alguna cosa más, las operaciones que se relizan en el "if", no calculan el resultado. Ahora gracias a kiko's ja recojo los valores, pero las operaciones no se realizan correctamente.


Código HTML:
<html>
	<head>
		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
  		<title>Conversor de temperatures</title>
	</head>
	<body>
		<form action="exercici1.php" method="post">
  			<fieldset>
    				<legend>Conversor de temperatura</legend>
    				<p>Escriu una temperatura en Celsius / Fahrenheit</p>		
          			<strong>Temperatura:</strong>
          			<input type="number" name="temperatura" size="7" maxlength="7"> 
           			<select name="unitat">
              				<option value="c" selected="selected">Celsius</option>
              				<option value="f">Fahrenheit</option>
            			</select>
   				
    				<p><input type="submit" value="Convertir"> 
    				<input type="reset" value="Borrar" name="Reset"></p>
  			</fieldset>
		</form>
 	</body>
</html> 
Código PHP:
    $temp $_POST['temperatura'];
    
$unitat $_POST['unitat'];
                 
    if (
$temp == "") {
            echo 
"<p>No has escrit cap temperatura</p><p><input type='button' value='Enrera' onClick='history.go(-1);'></p>";        
    } elseif (
$unitat == 'c') {
        
//Passar de celcius a Fahrenheit
        
$unitat $unitat 1.8 32
        echo 
"Temp: ".$unitat."<p><input type='button' value='Enrera' onClick='history.go(-1);'></p>";
    } else {
        
//Passar de Fahrenheit a celsius
        
$unitat $unitat 1.8 32;        
        echo 
"Temp: ".$unitat."<p><input type='button' value='Enrera' onClick='history.go(-1);'></p>";
    }        
    
?> 
PD: Perdón por no utilizar el código en el post anterior, era ilegible.

Gracias una vez más.
  #4 (permalink)  
Antiguo 25/11/2012, 08:38
 
Fecha de Ingreso: julio-2005
Mensajes: 310
Antigüedad: 19 años, 4 meses
Puntos: 36
Respuesta: Conversor de temperatura PHP

Hola

Claro que no calculan el resultado. ¿Entiendes lo que vas a haciendo? Mira atentamente línea por línea que vale cada variable:

$unitat = $unitat * 1.8 + 32;

Si $unitat vale 'c' o 'f' ¿cómo pretendes multiplicarlo por un número? Creo que te has equivocado y deberías poner $temp = $temp * 1.8 + 32;
  #5 (permalink)  
Antiguo 25/11/2012, 08:48
 
Fecha de Ingreso: noviembre-2012
Mensajes: 3
Antigüedad: 12 años
Puntos: 0
Respuesta: Conversor de temperatura PHP

Lo he visto después, que error.... en fin. Ahora funciona perfectamente.

Gracias por la paciencia kiko's, si te pasas por Vic, te invito a comer .

Salut !!

Etiquetas: conversor, html, temperatura
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 05:41.