Tengo La Siguiente Tabla:
CREATE TABLE IF NOT EXISTS `account` (
`id_account` int(11) NOT NULL auto_increment,
`name` varchar(45) not null,
`password` varchar(65) not null,
`email` varchar(100) not null,
`creation_date` timestamp NOT NULL default '0000-00-00 00:00:00',
`last_ip` varchar(20) default null,
`access_lvl` tinyint(3) not null default '0',
`online` tinyint(1) not null default '0',<----Esta Parte
PRIMARY KEY (`id_account`),
UNIQUE KEY `name` (`name`),
UNIQUE KEY `email` (`email`),
UNIQUE KEY `last_ip` (`last_ip`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Si Miran donde te marque tengo una columna que se llama online que manejara de la siguiente manera 0 desconectado, 1 conectado..
Ahora en la Parte del Login Tengo lo Siguiente en el Archivo a procesar Tengo el Siguiente Metodo
public function Login_Db ()
{
if(empty($_POST["nick"]) or empty($_POST["password"]))
{
header("LOcation: ".Conectar::ruta()."?accion=index&s=1");
exit;
}else{
$power = "gamer";
$_pass = $_POST["password"] + $power;
// Crypt password
$pass_web = md5($_pass);
$passwordcript = base64_encode($pass_web);
parent::Connect_Db();
$sql = sprintf
(
"SELECT id_account,name,password,email,access_level,online From account WHERE name=%s and password=%s",
parent::Anti_Sql($_POST["nick"]),
parent::Anti_Sql($passwordcript)
);
$reg = mysql_query($sql);
if($res = mysql_fetch_array($reg))
{
$_SESSION["ID_SESSION"] = $res["id_account"];
$_SESSION["USER_SESSION"] = $res["nickname"];
$_SESSION["EMAIL_SESSION"] = $res["email"];
$_SESSION["ACCESS_SESION"] = $res["access_level"];
$_SESSION["ONLINE_SESSION"] = $res["online"];
header("Location: ".Conectar::ruta()."?accion=home&s=3");
exit;
}else{
header("Location: ".Conectar::ruta()."?accion=index&s=2");
exit;
}
}
}
Ahora Voy a Mi Duda En que Parte Tengo que hacer el Update de la columna online para que lo cambie a 1 no se si hacerlo dentro de este if
Update AQUI?
if($res = mysql_fetch_array($reg))
{
Update AQUI?
$_SESSION["ID_SESSION"] = $res["id_account"];
$_SESSION["USER_SESSION"] = $res["nickname"];
$_SESSION["EMAIL_SESSION"] = $res["email"];
$_SESSION["ACCESS_SESION"] = $res["access_level"];
$_SESSION["ONLINE_SESSION"] = $res["online"];
Update AQUI?
header("Location: ".Conectar::ruta()."?accion=home&s=3");
exit;
O Antes De Ese If.
Mi Otra Duda Para Hacer el Update Tengo que Hacer otro if, por que estaba viendo que no seria necesario ya que cuando el hace la consulta ya viene con los datos de comparacion y de que el usuario ya existe...
Gracias Ante mano