Soporte » Guías – Resolución de problemas » acceso usuarios registrados en base de datos mysql

  • Hola, antes de nada decir que mis conocimientos son como principiante o un poquito más.
    Estoy haciendo una web para una asociación y tengo una base de datos en mysql con más de 1000 socios. Ya que de php estoy un poco pelado, he buscado por internet algun código para poder hacer dar acceso con login y password a los socios a determinadas paginas. La consulta sería a la base de datos llamada usuarios en mysql. Funciona perfectamente fuera de wordpress, pero el problema viene como implementarlo en wordpress para que funcione. El formulario inicia bien, pero al darle a enviar, salta el error 404 de que la pagina no se encuentra, no puede acceder a «comprueba_login.php» para que verifique si existe el usuario.
    No he encontrado ningun plugin que haga esta funcion conectandose a una base de datos mysql.
    Como tengo la web parada y no veo solucion he decidido recuriir al foro a ver si hay solución.
    Pongo los codigos para ver si me podéis ayudar.
    login:

    <!DOCTYPE>
    <html>
    <head>
        <meta http-equiv="Content-Type" content="text/html" charset="utf-8" />
    <title>Login</title>
        <style>
            h1{text-align: center;}
            table{
                width: 25%;
                background-color: #ffc;
                border: 2px dotted #f00;
                margin: auto;
            }
            .izq{text-align: right;}
            .der{text-align: left;}
            td{
                text-align: center;
                padding: 10px;
            }
        </style>
    </head>
    <body>
        <h1>INTRODUCE TUS DATOS</h1>
        <form action="comprueba_login.php" method="post">
            <table>
                <tr>
                    <td class="izq">
                       Login:
                    </td>
                    <td class="der"><input type="text" name="login"></td>
                </tr>
                <tr>
                    <td class="izq">
                        Password:
                    </td>
                    <td class="der"><input type="password" name="password"></td>
                </tr>
                <tr>
                    <td colspan="2"><input type="submit" name="enviar" value="LOGIN"></td>
                </tr>
            </table>
        </form>
    </body>
    </html>
    
    comprueba_login:
    
    <!DOCTYPE html>
    <html>
    <head>
        <meta http-equiv="Content-Type" content=text/html; charset=utf-8" />
        <title>comprueba Login</title>
    </head>
    <body>
    <?php
    try{
        $base=new PDO("mysql:host=localhost; dbname=nombre de la base de datos" , "root", "");
        $base->setAttribute (PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        $sql="SELECT * FROM USUARIOS WHERE USUARIO= :login AND PASSWORD= :password";
        $resultado=$base->prepare($sql);
        $login=htmlentities (addslashes($_POST["login"]));
        $password=htmlentities (addslashes($_POST["password"]));
        $resultado->bindValue (":login", $login);
        $resultado->bindValue (":password", $password);
        $resultado->execute ();
        $numero_registro=$resultado->rowCount ();
        if ($numero_registro !=0){
            //echo "<h2>Adelante!!</h2>";
            session_start ();
            $_SESSION["usuario"]=$_POST["login"];
            header ("Location:usuarios_registrados1.php");
    
        }else{
            header ("location:login.php");
        }
    
    }catch(Exception $e) {
        die("Error: " . $e->getMessage());
    }
    • Este debate fue modificado hace 3 meses, 3 semanas por Fernando Tellado. Razón: Etiquetado correcto del código
Viendo 1 respuesta (de 1 total)
  • Moderador LGrusin

    (@lgrusin)

    WordPress tiene su propia gestión de usuarios, lo suyo sería dar de alta o que se registren en el sitio y no mediante una base de datos externa.

    Exactamente no sé cuál es la idea de esa base de datos de usuarios puesto que el acceso a determinadas partes de la web se puede restringir mediante permisos.

    Un plugin para crear base de datos de usuarios es
    https://wordpress.org/plugins/participants-database/
    estudialo bien porque igual te sirve para hacer lo que tienes pensado.

Viendo 1 respuesta (de 1 total)
  • Debes estar registrado para responder a este debate.