problema con la funcion base64_decode
Publicado por Alejandro (172 intervenciones) el 03/09/2020 22:35:49
Hola buenos dias,
estoy programando en PHP y tengo las dos siguientes paginas:
En esta valido los datos pasados en un formulario y si es correcto el UPDATE envio un mensaje de confirmacion y vuelvo a la pagina principal de mi intranet codificando el ID:
Esta es la pagina principal a la que vuelvo:
Resulta que la variable $id no recoge el id codificado en la situacion de modificarDiscapacidad del Switch pero en modificarSituacion si funciona y me saca la pagina principal pero en la otra situacion recibo los siguientes errores:
Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, bool given in (ruta) on line 30
Warning: mysqli_free_result() expects parameter 1 to be mysqli_result, bool given in (ruta) on line 1373
No realiza la consulta porque no recibe ese id, lo he comprobado con var_dump(), quisiera saber por que.
Gracias de antemano.
estoy programando en PHP y tengo las dos siguientes paginas:
En esta valido los datos pasados en un formulario y si es correcto el UPDATE envio un mensaje de confirmacion y vuelvo a la pagina principal de mi intranet codificando el ID:
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
<?php
session_start();
include("conexion.php");
$id = $_POST['id'];
$accion = $_POST['accion'];
switch ($accion){
case "modificarSituacion":
$situacionActual = $_POST['situacionActual'];
$SQL = "UPDATE datos_personales SET situacion_actual=? WHERE id_personal=?";
$result = mysqli_prepare($GLOBALS['conn'], $SQL);
$ok = mysqli_stmt_bind_param($result, "si", $situacionActual, $id);
$ok = mysqli_stmt_execute($result);
if($ok==false){
echo "Error al modificar";
}else{
echo "Modificados los datos de 'Situación actual'</br>
<a href ='empleo.php?id_personal=".base64_encode($id)."' text-decoration='none'>Volver</a>";
}
break;
case "modificarDiscapacidad":
$idDiscapacidad = $_POST['idDiscapacidad'];
$tipoDiscapacidad = $_POST['tipoDiscapacidad'];
$gradoDiscapacidad = $_POST['gradoDiscapacidad'];
$documentacionDiscapacidad = $_POST['documentacionDiscapacidad'];
$SQL = "UPDATE discapacidad SET tipo=?, grado=?, ruta_documentacion=? WHERE id_discapacidad=? AND codigo_persona_discapacidad=?";
$result = mysqli_prepare($GLOBALS['conn'], $SQL);
$ok = mysqli_stmt_bind_param($result, "sssii", $tipoDiscapacidad, $gradoDiscapacidad, $documentacionDiscapacidad, $idDiscapacidad, $id);
$ok = mysqli_stmt_execute($result);
if($ok==false){
echo "Error al modificar";
}else{
echo "Modificados los datos de 'Discapacidad'</br>
<a href ='empleo.php?id_personal=".base64_encode($id)."' text-decoration='none'>Volver</a>";
}
break;
}
cerrarBD();
?>
Esta es la pagina principal a la que vuelvo:
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
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<meta name="robots" content="noindex">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="style_propio.css" rel="stylesheet" type="text/css" />
<script src="funcion_mostrar.js" async></script>
<title>Barrio empleo</title>
</head>
<?php
ob_start();
session_start();
include("conexion.php");
?>
<body>
<?php
$id = base64_decode($_GET['id_personal']);
$consulta = "SELECT * FROM datos_personales WHERE id_personal=".$id;
$resultado = mysqli_query($GLOBALS['conn'], $consulta);
while($filas = mysqli_fetch_array($resultado)){
//Aqui va un todo un menu con formularios muy largo que no voy a poner puesto que no es el problema
}
<?php
}
mysqli_free_result($resultado);
cerrarBD();
ob_end_flush();
?>
</body>
</html>
Resulta que la variable $id no recoge el id codificado en la situacion de modificarDiscapacidad del Switch pero en modificarSituacion si funciona y me saca la pagina principal pero en la otra situacion recibo los siguientes errores:
Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, bool given in (ruta) on line 30
Warning: mysqli_free_result() expects parameter 1 to be mysqli_result, bool given in (ruta) on line 1373
No realiza la consulta porque no recibe ese id, lo he comprobado con var_dump(), quisiera saber por que.
Gracias de antemano.
Valora esta pregunta


0