Questo è il codice riferito al controllo di Login. "Scelta" è una variabile derivante da una select: lì si sceglie la categoria con cui logarsi (docenti, alunni, ecc.).

Codice PHP:
<?
include("config.php");

$scelta=$_POST['scelta'];
$login=$_POST['login'];
$pwd=$_POST['pwd'];

$login=str_replace(";","",$login);
$login=str_replace(":","",$login);
$login=str_replace(",","",$login);
$login=str_replace("'","",$login);
$login=str_replace("*","",$login);
$login=str_replace("?","",$login);
$login=str_replace("=","",$login);
$login=str_replace("&","",$login);
$login=str_replace("%","",$login);
$login=str_replace("$","",$login);
$login=str_replace("<","",$login);
$login=str_replace(">","",$login);

$pwd=str_replace(";","",$pwd);
$pwd=str_replace(":","",$pwd);
$pwd=str_replace(",","",$pwd);
$pwd=str_replace("'","",$pwd);
$pwd=str_replace("*","",$pwd);
$pwd=str_replace("?","",$pwd);
$pwd=str_replace("=","",$pwd);
$pwd=str_replace("&","",$pwd);
$pwd=str_replace("%","",$pwd);
$pwd=str_replace("$","",$pwd);
$pwd=str_replace("<","",$pwd);
$pwd=str_replace(">","",$pwd);

if(
trim($login)=="" OR trim($pwd)==""){
                    echo 
"I campi Login e Password devono essere riempiti!";
}

if(
$scelta=='doc'){

                    
$q "SELECT * FROM InsegnantiLogin WHERE InsegnantiLogin_Login='$login'";
                    
$query mysql_query($q) or die(mysql_error());
                    
$password=mysql_result($query,0"InsegnantiLogin_Password");
                    if(
$pwd==$password){
                      
url("Docenti/docenti.php");
                    }
}


?>

1) Non dà errori di sintassi, ma quando fa il redirect mi apre una pagina vuota. Sbaglio il codice?

2) Quali altri controlli dovrei fare per avere una buona login?

Mi piacerebbe anche la storia di gestire le sessioni (ho dato una letta all'articolo su html.it), ma non ho ancora il bagaglio tecnico per riuscire a capirle con il tempo che ho a disposizione... Per adesso dovrò accontentarmi