Conseguí hacerme una página donde encriptaba las contraseñas de los usuarios.
En otra página, tengo el formulario del login para entrar con "usuario" y "contraseña".
Debido a la forma de encriptar las contraseñas (usando AES_ENCRYPT), la forma de validación ha de ser un código php ANTES de <html><head><body>...
Dentro del código de validación, hay un echo ("Datos incorrectos").
¿Qué ocurre?... que, al estar fuera de HTML, lo muestra arriba del todo, moviendo la página, etc.
¿Me podríais echar un cable para poder colocar este echo en un sitio en concreto?
P.D.: he probado a usar un div y llamar a un css e incluso a partir el código para que el echo se viera donde quería y lo que conse´guí fue que me descolocó la página completamente...
Os dejo el código (que espero que le pueda servir a alguien más) con el echo marcado en rojo y gracias por adelantado y un saludo:
Código:
<?php // NECESARIO PARA CREAR SESIONES require_once("../incluye/sesion.php"); // INICIA SESIÓN $sesion = new sesion(); // SI EL FORMULARIO HA SIDO ENVIADO, SE VALIDA if(isset($_POST['submit'])){ // SE CREAN LAS VARIABLES $nombreusuarios = $_POST['nombreusuarios']; $claveusuarios = $_POST['claveusuarios']; // SE VALIDA QUE SEAN VERDADERAS LAS VARIABLES if(validarUsuario($nombreusuarios,$claveusuarios) == true) { $sesion->set('nombreusuarios',$nombreusuarios); // SI SON VERDADERAS, MANDA A SIGUIENTE PÁGINA header("location: privado2.php"); } else { // SI SON FALSAS echo "Verifica tu nombre de usuario y contraseña"; }} // VALIDA EL NOMBRE Y LA CLAVE DE USUARIO function validarUsuario($nombreusuarios,$claveusuarios) { // CONECTAR A LA BASE DE DATOS $conexion = new mysqli("localhost","usuario","contrasena","bd"); // SE HACE LA CONSULTA $consulta = "SELECT AES_DECRYPT(claveusuarios,'llave') FROM usuarios WHERE nombreusuarios = '$nombreusuarios';"; // RECOGE EL RESULTADO $result = $conexion->query($consulta); if($result->num_rows > 0){ $fila = $result->fetch_assoc(); // COMPARA LA CLAVE DE USUARIO if(strcmp($claveusuarios,$fila["AES_DECRYPT(claveusuarios,'poliki')"]) == 0) // DEVUELVE VERDADERO return true; else // DEVUELVE FALSO return false; } else // DEVUELVE FALSO return false; } ?> <HTML><HEAD></HEAD><BODY>.. MI PAGINA... </BODY></HTML>