Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Suma/multiplicación de 2 números

Estas en el tema de Suma/multiplicación de 2 números en el foro de PHP en Foros del Web. Hola, que tal a todos/as, he realizado el siguiente código, mi duda esta en la última parte; como pongo la condición para decir que si ...
  #1 (permalink)  
Antiguo 25/12/2013, 12:57
 
Fecha de Ingreso: septiembre-2013
Mensajes: 76
Antigüedad: 10 años, 7 meses
Puntos: 0
Suma/multiplicación de 2 números

Hola, que tal a todos/as, he realizado el siguiente código, mi duda esta en la última parte; como pongo la condición para decir que si el usuario no introduce dos valores o introduce otro carácter, entonces le salga un mensaje de error:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>suma</title>
</head>

<body>


<?php
@ $x1=$_POST["x1"];
@ $x2=$_POST["x2"];
$y=$x1*$x2;
?>

<table align="center">
<thead> </thead>
<tbody>
<tr>
<th> </th>
<th> 1 </th>
<th> 2 </th>
</tr>
<tr>
<th> X </th>
<th> 1 </th>
<th> 4 </th>
</tr>
<tr>
<th> </th>
</tr>
</tbody>
</table>


<form method="post" name="suma" action="suma.php">
Ingresa el número 1: <input type="text" name="x1"> <br>
Ingresa el número 2: <input type="text" name="x2"> <br>


<input type="submit" value="comprobar">
</form>

<p>



Mi duda está en esta parte del código php:
<?php
if ($x1. $x2);
echo {"Este es el resultado: $y";}
else
echo {"no intentes timarme.";}
?>
</p>

A ver si me podeis ayudar, un saludo y gracias

</body>
</html>
  #2 (permalink)  
Antiguo 25/12/2013, 14:00
Avatar de TSG
TSG
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 373
Antigüedad: 10 años, 7 meses
Puntos: 9
Respuesta: Suma/multiplicación de 2 números

Podrías hacer esto para que comprobase si está en blanco:

Código PHP:
Ver original
  1. if($_POST['x1'] == '' or $_POST['x2'] == ''){
  2.        echo "Los campos no pueden estar en blanco";
  3. }
  4. else{
  5.        //resultado
  6. }


Y podrías poner los input type: number
Asín sólo se aceptaría números.

Código HTML:
Ver original
  1. <input type="number" name="x1">
  2. <input type="number" name="x2">

Saludos.
  #3 (permalink)  
Antiguo 25/12/2013, 15:20
Avatar de moriorGames  
Fecha de Ingreso: diciembre-2013
Ubicación: Barcelona
Mensajes: 37
Antigüedad: 10 años, 4 meses
Puntos: 3
Respuesta: Suma/multiplicación de 2 números

Hola muy buenas. Veo que ya te han respondido el mensaje, sin embargo, me gustaría hacerte una pequeña apreciación por si te sirve de ayuda.

Como norma general intenta verificar si las variables existen antes de asignarlas. En tu ejemplo haces algo como @ $x1 = $_POST['x1'];

te puedes ahorrar esa asignación si haces la misma multiplicación dentro de la condición y, además, php tiene verificada que las variables existen. En fin, que te dejo el código que he hecho y he probado para que te sirva. He hecho validación de las variables que se envían para asegurarme que siempre llegan números a la multiplicación.

Espero que te sea de ayuda!!!

Código PHP:
<!doctype html>
<html>
    <head>
        <meta charset="utf-8">
        <title>suma</title>
    </head>

<body>

<form method="post" name="suma" action="suma.php">
Ingresa el número 1: <input type="text" name="x1"> <br>
Ingresa el número 2: <input type="text" name="x2"> <br>
<input type="submit" value="Calcular">
</form>

<p>
<?php
if ( isset($_POST['x1']) && !empty($_POST['x1']) &&
     isset(
$_POST['x2']) && !empty($_POST['x2'])    ) {
        
$x1 = (int)$_POST['x1'];
        
$x2 = (int)$_POST['x2'];
        
$y $x1 $x2;
        
        echo 
"El resultado de $x1 * $x2 = $y";
} else {
        echo 
"Esperando a calcular números";
}
?>
</p>

</body>
</html>
  #4 (permalink)  
Antiguo 28/12/2013, 13:29
 
Fecha de Ingreso: septiembre-2013
Mensajes: 76
Antigüedad: 10 años, 7 meses
Puntos: 0
Respuesta: Suma/multiplicación de 2 números

gracias a todos por vuestras respuesta espicalmente a ti moriorGames, han sido muy útiles; y va genial ese código; en el caso de que el mensaje quisiera que apareciera en un div, lo pondría justo en el echo???, es decir antes de echo abro el <div> y al final lo cierro </div>????

<?php
if ( isset($_POST['x1']) && !empty($_POST['x1']) &&
isset($_POST['x2']) && !empty($_POST['x2']) ) {
$x1 = (int)$_POST['x1'];
$x2 = (int)$_POST['x2'];
$y = $x1 * $x2;

echo "El resultado de $x1 * $x2 = $y";
} else {
echo "Esperando a calcular números";
}
?>
</p>

Etiquetas: html
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 00:37.