Visionando velocemente il codice noto che fai due SELECT distinte, una sulla tabella "amministratore_istone" e l'altra su "agente_istone".
Però poi quando fai i controlli per verificare se l'utente sia un administrator oppure un utente inquilino usi sempre la stessa condizione nei due IF (cioè sempre i risultati dell'interrogazione della tabella "agente_istone"):
if(@mysql_num_rows($user_query) > 0)
....
elseif(@mysql_num_rows($user_query) > 0)
siccome la prima controlla se un utente è un administrator dovresti modificarla con il risultato della prima SELECT in questo modo:
if(@mysql_num_rows($amm_query) > 0)
poi probabilmente le due istruzioni che seguono:
if($user_result['banned'] == 'Y') {
header("Location: ./content.php?login=ban");
dovrebbero andare sotto la seconda condizione e non nella prima.
Se poi devi controllare il paramentro "banned" anche per l'utente administrator devi modificare le righe in questo modo:
if($amm_result['banned'] == 'Y') {
header("Location: ./content.php?login=ban");

Rispondi quotando