Dice que el resultado de la consulta no es un argumento esperado, siempre que te sale eso, tu Query tiene un error
cambia esto
Código PHP:
$query = mysql_query('SELECT * FROM users WHERE
user="'.mysql_real_escape_string($username).'",
pass="'.mysql_real_escape_string($password).'"
AND activado="'.mysql_real_escape_string($activado).'"');
a esto
Código PHP:
$query = mysql_query('SELECT * FROM users WHERE
user="'.mysql_real_escape_string($username).'",
pass="'.mysql_real_escape_string($password).'"
AND activado="'.mysql_real_escape_string($activado).'"') or die(mysql_error());
Ahora, enves de avisarte que tienes mal la consulta, te debe aparecer el error mysql, con el que podrás corregir la query
EDIT: Ah coño, miraaa esto
Código PHP:
$query = mysql_query('SELECT * FROM users WHERE
user="'.mysql_real_escape_string($username).'",
pass="'.mysql_real_escape_string($password).'"
AND activado="'.mysql_real_escape_string($activado).'"');
Cambialo a esto
Código PHP:
$query = mysql_query('SELECT * FROM users WHERE
user="'.mysql_real_escape_string($username).'"
AND pass="'.mysql_real_escape_string($password).'"
AND activado="'.mysql_real_escape_string($activado).'"');
Tenias un error en la consulta mysql, poniendo una coma enves de un AND, aun así te recomiendo que para que tu mismo lo veas, pongas ahora en la query lo que te puse, veas que efectivamente te sale un error mysql, y luego,
muy importante, vuelvas a quitar el "or die..." porque un error mysql no tiene porque ser visible a cara al publico