Nella pagina inserisci.php ho una variabile chiamata $codice che mi crea un numero random da inserire in un campo di testo chiamato campo_codice

Quando invio il form, se l'utente ha scritto il numero giusto nel campo codice allora puo' scrivere sul guestbook, altrimenti deve tornare indietro, correggere e potra' scrivere sul guestbook, solo che ho notato che anche sbagliando ad inserire il codice nel campo, il modulo viene inviato...
come mai?
questo e' il codice che inserisce i dati nel db e "controlla" se il campo codice e' esatto:
Codice PHP:
<?
include("config.php");
$messaggio nl2br($messaggio);
$connessione =  @mysql_connect("$host","$db_user","$db_pass")
or die(
"Impossibile stabilire una connessione.");
$db = @mysql_select_db($db_nome$connessione)
or die(
"Impossibile selezionare il database.");
if (
$codice=$campo_codice){
$sql "insert into $tabella 
(id, nome, email, sito, messaggio, data) 
values 
(NULL,\"
$nome\",\"$email\",\"$sito\",\"$messaggio\",NOW())";
$risultato = @mysql_query($sql$connessione)
or die (
mysql_errno() . ": " mysql_error());
}
else
{
echo(
"Devi copiare il codice segreto nel campo di testo altrimenti non puoi lasciare il messaggio");
}
?>
Dove sbaglio?