PHP - ERRO - Calculadora php (novato)

 
Vista:
sin imagen de perfil

ERRO - Calculadora php (novato)

Publicado por jmsx (2 intervenciones) el 10/04/2014 18:44:01
Tengo el problema de que cuando pulso "=" se borra pero yo quiero no se calcula la operación, aquí dejo el código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<head>
		<title>Calculadora by Daniel Dominguez</title>
	</head>
 
	<body>
		<form method="post">
		<div>
		<CENTER>
			<input type="text" name="calculo" value="<?php if(isset($_GET['cadena'])){echo $_GET['cadena'];} ?>">
			<table>
				<tr>
					<th><input type="submit" name="boton" value="7"/></th>
					<th><input type="submit" name="boton" value="8"/></th>
					<th><input type="submit" name="boton" value="9"/></th>
					<th><input type="submit" name="boton" value="/"/></th>
				</tr>
				<tr>
					<th><input type="submit" name="boton" value="4"/></th>
					<th><input type="submit" name="boton" value="5"/></th>
					<th><input type="submit" name="boton" value="6"/></th>
					<th><input type="submit" name="boton" value="*"/></th>
				</tr>
				<tr>
					<th><input type="submit" name="boton" value="1"/></th>
					<th><input type="submit" name="boton" value="2"/></th>
					<th><input type="submit" name="boton" value="3"/></th>
					<th><input type="submit" name="boton" value="-"/></th>
				</tr>
				<tr>
					<th><input type="submit" name="boton" value="0"/></th>
					<th><input type="submit" name="boton" value=","/></th>
					<th><input type="submit" name="boton" value="("/></th>
					<th><input type="submit" name="boton" value=")"/></th>
				</tr>
			</table>
			<input type="submit" name="boton" value="="/>
		</CENTER>
		</div>
		</form>
	</body>
</html>
<?php
if($_POST){
	$cadena= $_POST['calculo'];
	if($_POST['boton'] == "="){
		$cadena = eval($cadena); //parte que falla
	}else{
		$cadena= ''.$cadena.''.$_POST['boton'].'';
	}
	header('Location: ?cadena='.$cadena);
}
?>


Mil gracias por adelantado :)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

ERRO - Calculadora php (novato)

Publicado por xve (6935 intervenciones) el 10/04/2014 21:15:13
Hola jmsx, me ha costado un poco entender tu código, y la verdad es que no se entiendo como funciona!!!

Añado este código echo ($_POST['boton']); para que me diga el valor del botón enviado, y no me devuelve ningún valor!!!

Pongo un print_r($_POST); y tampoco me devuelve nada... no lo entiendo!!!

De todas maneras, hay maneras mucho mejores de hacer una calculadora sin tener que refrescar la página... por ejemplo utilizando javascript.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

ERRO - Calculadora php (novato)

Publicado por jmsx (2 intervenciones) el 11/04/2014 06:20:47
Ya se que hay mejores metodos, pero es para un proyecto de php para el colegio, tiene que se totalmente en php y html.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alejandro
Val: 1.634
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

ERRO - Calculadora php (novato)

Publicado por Alejandro (839 intervenciones) el 14/04/2014 21:49:04
  • Alejandro se encuentra ahora conectado en el
  • chat de PHP
El "HEADER()" va antes de mostrar cualquier cosa en pantalla y la expresion de "EVAL()" esta mal formulada.

Probado y funcionando
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<?php
  if($_POST){
    $cadena= $_POST['calculo'];
    if($_POST['boton'] == "="){
        eval('$_POST[calculo] = '.$_POST[calculo].';');
        $cadena = $_POST[calculo];
    }else{
        $cadena= ''.$_POST[calculo].''.$_POST['boton'].'';
    }
 } ?>
<head>
    <title>Calculadora by Daniel Dominguez</title>
</head>
<body>
    <form method="post">
        <div>
            <CENTER>
                <input type="text" name="calculo" value="<?echo $cadena?>"/>
                <table>
                    <tr>
                        <th><input type="submit" name="boton" value="7"/></th>
                        <th><input type="submit" name="boton" value="8"/></th>
                        <th><input type="submit" name="boton" value="9"/></th>
                        <th><input type="submit" name="boton" value="/"/></th>
                    </tr><tr>
                        <th><input type="submit" name="boton" value="4"/></th>
                        <th><input type="submit" name="boton" value="5"/></th>
                        <th><input type="submit" name="boton" value="6"/></th>
                        <th><input type="submit" name="boton" value="*"/></th>
                    </tr><tr>
                        <th><input type="submit" name="boton" value="1"/></th>
                        <th><input type="submit" name="boton" value="2"/></th>
                        <th><input type="submit" name="boton" value="3"/></th>
                        <th><input type="submit" name="boton" value="-"/></th>
                    </tr><tr>
                        <th><input type="submit" name="boton" value="0"/></th>
                        <th><input type="submit" name="boton" value=","/></th>
                        <th><input type="submit" name="boton" value="("/></th>
                        <th><input type="submit" name="boton" value=")"/></th>
                    </tr>
                </table>
                <input type="submit" name="boton" value="="/>
            </CENTER>
        </div>
    </form>
</body>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar