PHP - Uso de funciones PHP en formularios HTML

 
Vista:
Imágen de perfil de Sebastian García Mejía

Uso de funciones PHP en formularios HTML

Publicado por Sebastian García Mejía (2 intervenciones) el 18/04/2018 21:11:36
Buenas tardes,

Estoy iniciando el proceso de aprendizaje de PHP y en un ejercicio que estoy trabajando se requiere crear una una función para las 4 operaciones matemáticas (suma, resta, multiplicación, y división) de dos números que se ingresen mediante cajas de texto. La operación matemática se seleccionará por medio de una lista desplegable y con un botón de acción se realizará el cálculo para mostrar el resultado con la instrucción "echo". La función debe estar en un segundo archivo. Les agradezco cualquier explicación que me puedan dar.

El inconveniente es que no sé como puedo capturar el valor ingresado en las dos cajas de texto para que sean los argumentos que entren en la función. A continuación dejo el código que he realizado para ambos archivos:

1) Código del formulario

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
<!DOCTYPE html>
<!--
Crear un formulario que contenga dos cajas de texto, una lista desplegable
y un botón que permita llamar la función para calcular la operación
matemática seleccionada.
-->
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<form method="post" action="biblioteca.php">
<label>N&uacute;mero 1</label>
<input type ="text" size="5" name="num1" required>
<br><br>
<label>N&uacute;mero 2</label>
<input type="text" size="5" name="num2" required>
<br><br>
Seleccione la operacion matem&aacute;tica
<select name="opciones">
<option>S</option>
<option>R</option>
<option>M</option>
<option>D</option>
</select><br><br>
<input type="submit" name="calcular" value="Calcular">
</form>
 
<?php
 
//Incluir el archivo que contiene la función
require_once './biblioteca.php';
 
//Recibir los datos del formulario en variables
$valor1 = filter_input(INPUT_POST,'num1');
$valor2 = filter_input(INPUT_POST,'num2');
$opciones = filter_input(INPUT_POST,'opciones');
 
//Si el botón se oprime entonces llamar la función
if (!NULL== filter_input(INPUT_POST,'calcular')){
echo operaciones($valor1,$valor2,$opciones);
}
?>
</body>
</html>

2) Código de la función

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
 
//Creamos la función para realizar las operaciones básicas 
function operaciones($num_1,$num_2,$operacion){
 
if ($operacion=="S"){
echo "la suma de $num_1 y $num_2 es: ";
return $num_1+$num_2;
 
}elseif ($operacion=="R"){
echo "la resta de $num_1 y $num_2 es: ";
return $num_1-$num_2;
 
}elseif ($operacion=="M"){
echo "la multiplicación de $num_1 por $num_2 es: ";
return $num_1*$num_2;
 
}elseif($operacion=="D" and $num_2!=0){
echo "la división de $num_1 entre $num_2 es: ";
return $num_1/$num_2;
}
//Si no se puede realizar la operación seleccionada mostrar
return "No se puede realizar la operación seleccionada";
}

Nota: también quisiera saber por qué en Netbeans no se puede usar $_POST[' '] porque aparece este mensaje: do not access superglobal $_post array directly.
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

Uso de funciones PHP en formularios HTML

Publicado por xve (6935 intervenciones) el 19/04/2018 07:38:48
Hola Sebastian, no entiendo muy bien como lo estas haciendo... en el formulario, envias los valores al archivo biblioteca.php (<form method="post" action="biblioteca.php">) y al final del archivo que tiene el formulario, haces un require también del mismo archivo??

Cuales son los nombres de los dos archivos que muestras?

Yo creo que el código php que hay en el primer archivo, debería de ir en el segundo archivo que seria el denominado biblioteca.php
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 Sebastian García Mejía

Uso de funciones PHP en formularios HTML

Publicado por Sebastian García Mejía (2 intervenciones) el 19/04/2018 15:16:40
Buenos días,

Mira que estuve revisando y tenía que retirar el nombre del archivo de la instrucción action del formulario. De esta manera funcionó, pero no entiendo muy bien lo que hace esta instrucción. La verdad me estaba guiando con un ejemplo, pero me confunde un poco su uso. Gracias por la respuesta.

El primer archivo se llama Formulario_1.php, este contiene la primera parte del código.
El segundo archivo se llama biblioteca.php que contiene la segunda parte del código.
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