Ver Mensaje Individual
  #7 (permalink)  
Antiguo 14/08/2010, 10:36
malkavie
 
Fecha de Ingreso: julio-2010
Mensajes: 12
Antigüedad: 13 años, 9 meses
Puntos: 1
Respuesta: Autenticacion de usuarios

Exacto carlos_belisario, se ve bien pero no funciona del todo... he modificado un poco mi script y queda así:

$cliente = $_POST['usuario'];
$clave = $_POST['clave'];

$consulta = "SELECT * FROM clientes WHERE email LIKE '$cliente' AND password LIKE '$clave'";
$usuario = @mysql_query($consulta);

if (@mysql_num_rows ($usuario) !=0)
{
$datos = mysql_fetch_array($usuario);
if ($datos['status'] == 2)
{
echo "No has activado tu cuenta, para poder usar nuestro portal debes activar tu cuenta";
}
else
{
$datos = mysql_fetch_array($usuario) or die (mysql_error());
$id = $datos['Id'];
$nombre = $datos['nombre'];
$clase = $datos['clase'];
$mail = $datos['email'];
$status = $datos['status'];
session_start();
$_SESSION['id'] = $id;
$_SESSION['estado'] = 'Autenticado';
$_SESSION['nombre'] = $nombre;
$_SESSION['clase'] = $clase;
$_SESSION['email'] = $mail;
$_SESSION['status'] = $status;

echo "Has iniciado sesi&oacute;n correctamente<br>";
echo "Bienvenido $nombre";

}
}
else
{
echo "Los datos de inicio no son v&aacute;lidos";
}

Hasta ahora puedo iniciar sesión correctamente si los datos son válidos y si no son válidos me muestra el mensaje correspondiente, todo va bien después del primer 'if' pues compara datos, el segundo 'if' donde extraigo el valor del 'status' en mi Bd ya funciona, es decir si ese 'status' es 2 muestra el mensaje de activación. Es justamente el 'else' de esta sentencia el que no guarda los datos de las variables que necesito, sólo este else no registra $id, $nombre, $clase y $email por lo tanto cuando le pido un - echo $nombre; - no devuelve nada, probé lo que me dices en la lína con itálicas y obtengo una página en blanco, todo lo demás está bien... curioso caso

Última edición por malkavie; 14/08/2010 a las 10:46