Error para acceder a la bbdd en el panel Plesk [closed]

Error para acceder a la bbdd en el panel Plesk [closed]

提问人:Adrianico13 提问时间:11/16/2023 更新时间:11/16/2023 访问量:21

问:


Stack Overflow 是一个纯英语网站。作者必须能够用英语交流,以理解和参与他们收到的任何评论和/或答案。不要为作者翻译这篇文章;机器翻译可能不准确,甚至人工翻译也会改变帖子的预期含义。

6天前关闭。

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);
?>`





JavaScript的 PHP的 jQuery的 phpmyadmin 普列斯克

评论

0赞 ADyson 11/16/2023
你必须在这里用英文写。或者去 Stack Overflow en español

答: 暂无答案