La tua classe non è fatta bene.
Ti ho già risposto in quell'altro post perchè non bisogna bannare un ip.
Ora ti correggo cmq la classe per farti rendere conto d cme andrebbe fatto il tutto.
Codice PHP:
class Ban {
var $ip = array();
function ban_ip($sel_ip) {
// Qui non va un return
$this->ip[] = $sel_ip;
}
function check() {
// Qui puoi semplificare molto le cose
if ( in_array( $_SERVER['REMOTE_ADDR'] , $this->ip ) ) {
return true ;
} else {
return false ;
}
}
}
$ban = new Ban;
$ban->ban_ip("111.111.111.111");
if ( $ban->check() === false ) {
echo 'Sei stato bannato' ;
}
Il controllo del metodo check in realtà potresti farlo anche con un operatore ternario. Te lo scrivo:
Codice PHP:
function check() {
// Qui puoi semplificare molto le cose
return ( in_array( $_SERVER['REMOTE_ADDR'] , $this->ip ) ) ? true : flase ;
}
Attenzione!
Ti ho corretto la classe scrivendola come l'avrei scritta io ma manca ancra il costruttore. Inoltre non ha alcuna utilità bannare un utente in base a parte dell'ip erchè tagli fupri un lungo elenco di utenti!