He solucionado el tema de mis sesiones, tengo un fomulario de envio, un checklogin, salir...todo funciona a la perfección. Pero tengo un defecto. Cuando me logueo quiero que dependiendo del tipo de usuario (x ej. administrador o profesional) me lleve a una página o a otra.
Creo que deberia modificar mi checklogin, no?
mi checklogin.php:
Código PHP:
<?php
// revisamos si es login por sesiones o por formulario
if (!isset($_POST['usuario_digitado']) && !isset($_POST['clave_digitada'])) {
session_start();
//usamos los valores de las sesiones
$usuario = $_SESSION['usuarioLogin'];
$clave = $_SESSION['claveUsuario'];
}else{
// usamos los datos ingresados
session_start();
//borramos las sessiones por si existen
unset($_SESSION['usuarioLogin']);
unset($_SESSION['claveUsuario']);
$usuario = $_POST['usuario_digitado'];
$clave = $_POST['clave_digitada'];
$_SESSION['usuarioLogin'] = $usuario;
$_SESSION['claveUsuario'] = $clave;
}
if (!$usuario) {
// no hay login disponible
include("interface.php");
exit;
}
if (!$clave) {
// no hay contraseña
$mensaje = "contraseña incorrecta";
include("interface.php");
exit;
}
// nos conectamos a la bd
$cnx = conectar();
//buscamos al usuario
$userQuery = mysql_query("SELECT * FROM usuario WHERE usuarioLogin = '$usuarioLogin'") or die(mysql_error());
// revisamos usuario y password
if (mysql_num_rows($userQuery) > 0) {
// usuario existe, seguimos
$userArray = mysql_fetch_array($userQuery);
if ($usuario != $userArray['usuarioLogin']) {
// caso sensitivo, usuario no está presente en bd
$message = "Usuario no Existe";
echo $message;
include("interface.php");
exit;
}
if (!$userArray['claveUsuario']) {
// no tiene clave en bd, no entra
$message = "No se encontró contraseña para el usuario";
include("interface.php");
exit;
}
if (stripslashes($userArray['claveUsuario']) != $clave) {
// contraseña es incorrecta
$message = "Contraseña es incorrecta";
include("interface.php");
exit;
}
}else{
// usuario no existe del todo.
$message = "Usuario no Existe";
include("interface.php");
exit;
}
//si hemos llegado hasta aqui significa que el login es correcto.
?>
Gracias