Guarda, e' praticamente tutto sbagliato.
1) le costanti in una classe non si definiscono con define() ma con constant: http://php.net/manual/en/language.oop5.constants.php -- inoltre una serie di costanti non e' certo il sistema corretto per la gestione dei messaggi di errore
2) non puoi definire piu' volte una proprieta', tutto questo blocco
Codice PHP:
public $code_error = "<table border='0' cellpadding='0' cellspacing='0' style='border-collapse: collapse; padding-left: 20px;'>";
public $code_error .= "<tr>";
public $code_error .= "<td width='5%' valign='center'>";
public $code_error .= "[img]../immagini/error.jpg[/img]";
public $code_error .= "</td>";
public $code_error .= "<td width='95%'>";
public $code_error .= "[b]<font face='Verdana, Arial, Helvetica, sans-serif' color='#990000' style='font-size: 11px'>";
public $code_error .= ERRORE.$this->numberr;
public $code_error .="</font>[/b]";
public $code_error .="</td>";
public $code_error .="</tr>";
public $code_error .="</table>";
e' sintatticamente errato oltre che privo di senso (e poi la costante "ERRORE" da dove viene?): un pezzo di HTML (pessimo tra l'altro) di certo non ha ragione di stare nella dichiarazione di proprieta' di classe
3) nel metodo checknow() accetti dei parametri, ma esegui i controlli sulle proprieta' che pero' non definisci da nessuna parte: non e' che gli argomenti di un metodo vengono automaticamente registrati in proprieta' con lo stesso nome, $username e $this->username sono due variabili completamente distinte
4) non devi per forza usare proprieta' di classe, puoi anche usare normali variabili all'interno dei metodi, le proprieta' di classe sono variabili che devono essere accessibili a tutta la classe
5) NON validare le email tramite regular expressions: http://forum.html.it/forum/showthrea...4#post13284194
6) non usare eregi_*
7) cosa significa questo?
Codice PHP:
if(strlen($this->username) < 3 || ($this->username) > 30)
"se la lunghezza di $this->username e' minore di 3 oppure $this->username (misteriosamente racchiuso tra parentesi) contiene un numero maggiore di 30?
8) fai la query al database basandoti solo sull'utente... e la password??
9) c'e' sicuramente dell'altro, ma gia' cosi' mi pare sufficiente: prenditi un buon libro e comincia con calma dalle basi, stai cercando di costruire una casa senza avere idea di come funzionino i mattoni