PHP - ERRO - Calculadora php (novato)

   
Vista:

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

ERRO - Calculadora php (novato)

Publicado por xve (5523 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

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

ERRO - Calculadora php (novato)

Publicado por Alejandro (198 intervenciones) el 14/04/2014 21:49:04
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