Sistema de aviso de errores al usuario

  • Autor Autor adonet
  • Fecha de inicio Fecha de inicio
adonet

adonet

Beta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Estoy pensando en mejorar mis sistemas para avisar al usuario cuando para algo erroneo, por ejemplo si en el login mete mal la contraseña y le tengo que avisar de "contraseña incorrecta"

Siempre lo he gestionado lanzando a la página por GET con el tipo de error, es decir, si hay un error le mando a index.php?error=usuarionoexiste

Pero sinceramente, queda muy feo, que el usuario vea esa cadena nunca me ha gustado.

Viendo algún tutorial de youtube, he visto un método mucho más limpio, usar variabler de session, mostrar el aviso en la otra página y borrar la variable de session.

Cómo lo gestionáis vosotros? alguna idea mejor?
 
Si, con sesión, a la página donde manda es donde creas la sesión, dependiendo del error:

PHP:
$_SESSION["error"] == 'El error';

Y si lo quieres mostrar en otra página, la borras:

PHP:
if(print($_SESSION["error"])) {
$_SESSION["error"] = '';
}
 
Última edición:
Puedes usar sesiones como bien dices, o simplemente hacer la comprobación a través de ajax y en caso de error mostrarlo directamente después de la validación. Hay varias formas.... También puedes cargar una variable en post. Supongamos que el user y pass te llegan a través de post.

PHP:
$_POST['error_login'] = false;

//Aqui valida tu login de la forma que quieras, lo importante es que si hay error llenes el error_login con true
if(!cualquierCosaQueHagasParaValidar($_POST['user'], $_POST['password']))
{
$_POST['error_login'] = true;
}

if($_POST['error_login'])
{
//has lo que quieras con el error, aqui entrará solamente si hay error al loguear.
// puede ser un mensaje o lo que quieras
}
else{
//todo esta bien
}

Ten en cuenta que si piensas hacerlo con sessiones deberás usar session_start() al principio del documento, y en caso de que este todo bien deberás eliminar la session del error para que no este continuamente mostrandote error aunque luego el usuario ponga la informacion correcta.

Yo siempre lo he hecho de maneras similares a las que te he mostrado. Es básico pero funciona. Saludos.
 
Atrás
Arriba