Questo script non fa altro che raccogliere dei dati e controllare i contenuti. Tra le varie guide mi sembra di aver capito che eregi funziona al "contrario" e quindi se if è vero la stringa non è corretta.
Codice PHP:
$userid = $_POST['user'];
$cod = $_POST['cod'];
$cod2 = $_POST['cod2'];
$email = $_POST['email'];
//$cod <> $cod2 per verificare se ha scritto bene il codice
//il primo eregi è per controllare la sintassi dell'email
//il secondo per controllare che userid contenga solo a-z,0-9 "_" e "-" e che sia compreso tra 4 e 25 caratteri
//il terzo invece dovrebbe contenere solo a-z e 0-9 e compreso tra 5 e 25 caratteri
if (( $cod <> $cod2 ) || !eregi("^ [a-z0-9_\.-]+@([a-z0-9_-])+\.)+([a-z]{2,6})",$email) || !eregi("^([a-z0-9_-]{4,25})",$userid) || !eregi("^([a-z0-9_-]{5,25})",$cod))
{
echo "dati non inseriti correttamente :(";
} else {
echo "ok, fatto";
}
Ci dev'essere qualche problema perchè non funziona, eppure mi sembra corretto.