提问人:Adrianico13 提问时间:11/16/2023 更新时间:11/16/2023 访问量:21
Error para acceder a la bbdd en el panel Plesk [closed]
Error para acceder a la bbdd en el panel Plesk [closed]
问:
estoy desarrollando un portal web sencillito para mostrar unos registros que me invento yo en un Excel.Para mostrar los registros en una tabla utilizo un formulario con Jquery para actualizar la información de algunos campos, el problema lo tengo que en local puedo acceder a la base de datos y el label se actualiza de forma automatica cuando elijo una empresa u otra, pero cuando lo subo al panel Plesk me indica el error: 连接失败:用户“@'MiIP”的访问被拒绝(使用密码:YES)。
He probado a poner localhost, localhost:puerto y por último la IP pero no consigo que actualice.Lo que me resulta extraño esque para sacar las empresas si hace la consulta sin problema a la bbdd pero la consulta con JQuery me lo deniega
小米指数:
<?php
$host = 'myIP';
$database = 'registro_logs';
$user = 'adminlog';
$password = 'miContraseña';
/*
$host = 'localhost';
$database = 'registro_logs';
$user = 'root';
$password = '';
*/
$conn = new mysqli($host, $user, $password, $database);
if ($conn->connect_error) {
die("Conexión fallida: " . $conn->connect_error);
}
// recordar la variable de sesion
session_start();
//validar que se cree una variable de sesion al pasar por login
$correo = $_SESSION['correo'];
$usuario = $_SESSION['usuario'];
if (!isset($correo)) {
header("location:form_login.php");
}
$result = null;
if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST['entidad']) && isset($_POST['fecha_inicio']) && isset($_POST['fecha_fin'])) {
$fecha_inicio = $_POST['fecha_inicio'];
$fecha_fin = $_POST['fecha_fin'];
$empresa = $_POST['entidad'];
$sql = "SELECT * FROM registro WHERE fecha_conexion BETWEEN ? AND ? AND entidad=?";
$stmt = $conn->prepare($sql);
$stmt->bind_param("sss", $fecha_inicio, $fecha_fin,$empresa);
$stmt->execute();
$result = $stmt->get_result();
$stmt->close();
}
$consultaEmpresas = "SELECT DISTINCT entidad FROM registro";
$resultado_empresas = mysqli_query($conn, $consultaEmpresas);
$miau = mysqli_num_rows($resultado_empresas);
$conn->close();
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-T3c6CoIi6uLrA9TneNEoa7RxnatzjcDSCmG1MXxSR1GAsXEV/Dwwykc2MPK8M2HN" crossorigin="anonymous">
<script src="https://cdn.jsdelivr.net/npm/bootst[email protected]/dist/js/bootstrap.bundle.min.js" integrity="sha384-C6RzsynM9kWDrMNeT87bh95OGNyZPhcTNXj1NW7RuBCsyN/o0jlpcV8Qyq46cDfL" crossorigin="anonymous"></script>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<title>Registro Logs</title>
<style>
body {
background-color: #142c3c;
}
label {
color: white;
}
</style>
</head>
<body>
<?php $fecha_actual = date("Y-m-d"); ?>
<div class="container">
<div class="row mt-5 ">
<div class="col-8 mx-auto" >
<form action="index.php" method="post">
<div class="mb-2">
<label for="entidad" class="form-label">Empresa</label>
<select class="form-select" name="entidad" id="entidad">
<option value="">Seleccione empresa</option>
<?php
while ($row = $resultado_empresas->fetch_array()) {
?><option value="<?php echo $empresa = $row['entidad']; ?>"><?php echo $empresa = $row['entidad']; ?></option>
<?php
}
?>
</select>
</div>
<div class="mb-2">
<label for="usuario" class="form-label">Usuario</label>
<select class="form-select" name="usuario" id="usuario">
<option value="*">Todos</option>
</select>
</div>
<div class="mb-2">
<label for="fecha_inicio">Fecha inicio</label>
<input type="date" name="fecha_inicio" id="fecha_inicio" min="2021-01-01" max='<?php echo $fecha_actual ?>' class="form-control">
</div>
<div class="mb-2">
<label for="fecha_fin">Fecha fin</label>
<input type="date" name="fecha_fin" id="fecha_fin" min="2021-01-01" max='<?php echo $fecha_actual ?>' class="form-control">
</div>
<input type="button" class="btn btn-primary" value="Filtrar" onclick="filtrarDatos()">
<a href="cerrar_sesion.php" class="btn btn-danger">Cerrar sesión</a>
</form>
</div>
</div>
<div class="row justify-content-center">
<div class="col-8">
<p class="text-white f-600" id="num_registros"></p>
</div>
</div>
<div class="" id="tablaResultados">
</div>
<div class="row" >
<div class="col-12 d-flex justify-content-center">
<div class="d-none" id="paginacion">
<button class="btn btn-info" onclick="cambiarPagina(-1)">Anterior</button>
<span class="text-white" id="pagina_actual">1</span>
<button class="btn btn-info" onclick="cambiarPagina(1)">Siguiente</button>
</div>
</div>
</div>
</div>
<script>
$(document).ready(function() {
$('#entidad').change(function() {
var entidadSeleccionada = $(this).val();
console.log(entidadSeleccionada)
$.ajax({
url: 'obtener_usuarios.php',
method: 'POST',
data: { entidad: entidadSeleccionada },
dataType: 'json',
success: function(data) {
$('#usuario').empty(); // Limpiamos las opciones existentes
$('#usuario').append('<option value="*">Todos</option>');
$.each(data, function(key, value) {
$('#usuario').append('<option value="' + value + '">' + value + '</option>');
});
}
});
});
});
let paginaActual = 1;
const registrosPorPagina = 5;
function filtrarDatos() {
$.ajax({
url: 'filtrar_datos.php',
type: 'POST',
data: {
empresa: $('#entidad').val(),
usuario: $('#usuario').val(),
fechaInicio: $('#fecha_inicio').val(),
fechaFinal: $('#fecha_fin').val(),
pagina: paginaActual,
cantidad: registrosPorPagina
},
dataType: 'json',
success: function(data) {
let tabla = '<div class="row mt-4 justify-content-center"><div class="col-8 mx-auto"><table class="table table-striped">';
tabla += '<thead><tr><th>Entidad</th><th>Nombre</th><th>Email</th><th>Fecha de Conexión</th><th>Hora de Conexión</th></tr></thead><tbody>';
$('#paginacion').removeClass('d-none').addClass('d-block');
data.forEach(row => {
tabla += '<tr>';
tabla += '<td>' + row.entidad + '</td>';
tabla += '<td>' + row.nombre + '</td>';
tabla += '<td>' + row.email + '</td>';
tabla += '<td>' + row.fecha_conexion + '</td>';
tabla += '<td>' + row.hora_conexion + '</td>';
tabla += '</tr>';
});
tabla += '</tbody></table></div></div>';
$('#tablaResultados').html(tabla);
document.getElementById('num_registros').textContent = "Registros mostrados: " + data.length;
},
error: function(error) {
console.error("Hubo un error: ", error);
}
});
}
function cambiarPagina(cambio) {
paginaActual += cambio;
// Agregar validación para que la página actual no sea menor que 1
if (paginaActual < 1) paginaActual = 1;
$('#pagina_actual').text(paginaActual);
filtrarDatos();
}
</script>
</body>
</html>`
y el archivo donde hago la consulta para sacar los usuarios que se actualizan en el label:
`<?php
$host = "localhost";
$username = "root";
$password = "";
$database = "registro_logs";
// Conexión a la base de datos
$conn = new mysqli($host, $username, $password, $database);
// Verificar conexión
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
// Obtener la empresa desde la petición POST
if (isset($_POST['entidad'])) {
$campo = $_POST['entidad'];
} else {
//echo "hola2";
$campo = null;
}
// Preparar la consulta SQL para obtener los usuarios de la empresa seleccionada
$query = "SELECT DISTINCT nombre FROM registro WHERE entidad = ?";
$stmt = $conn->prepare($query);
$stmt->bind_param("s", $campo);
$stmt->execute();
$result = $stmt->get_result();
$usuarios = array();
while ($row = $result->fetch_assoc()) {
$usuarios[] = $row['nombre'];
}
$stmt->close();
$conn->close();
// Devolver la lista de usuarios en formato JSON
echo json_encode($usuarios, JSON_UNESCAPED_UNICODE);
?>`
答: 暂无答案
评论