Salve, da stamattina cerco di venire a capo di un problema che, rispetto ad altre procedure, sembra semplice, ma che mi sta bloccando.

Ho questo form di autenticazione, pagina form_accesso.php
Codice PHP:
<form id="form1" name="form1" method="post" action="login.php">
    <p><strong>Accesso utenti</strong></p>    <p>Username <input type="text" name="username" id="username" /></p>    <p>Password <input type="password" name="password" id="password" /></p>        <?php                if(isset($_GET["cod"])) {            $codice=$_GET["cod"];            if($codice=="1") {                echo "<font color='#FF0000'>Username o password errati";            }            if($codice=="2") {                echo "<font color='#FF0000'>Arrivederci!</font>";            }            if($codice=="3") {                echo "<font color='#FF0000'>Non fare il furbo! Devi prima loggarti!</font>";            }        }     ?>    <p><input type="submit" name="button" id="button" value="Login" /></p></form>
e questa pagina che riceve i dati, login.php
Codice PHP:
<?php
        $user 
= isset($_POST['username']) ? htmlspecialchars($_POST['username']) : '';    if (isset($user)) {        $username=$user;    } else {        $username="";    }
    
$pass = isset($_POST['password']) ? htmlspecialchars($_POST['password']) : '';    if (strpos($pass'%') !== false) {        header("location: http://gaspare.altervista.org/accesso.php?cod=4");    } else if(isset($pass)) {        $password=$pass;    } else {        $password="";    }
    
session_start();
    
$db_username '*****';    $db_password '*****';    $db_host '*****';    $db_name 'my_*****';
    
$link mysqli_connect("$db_host""$db_username""$db_password""$db_name") or die("Errore connessione");
    if (
mysqli_connect_errno()) {        echo "Errore apertura database";    }
    
$sql="SELECT * FROM utenti WHERE username='$username' AND password='$password' AND attivo=1";
    
$miorecord=mysqli_query($sql);
    
$count=mysqli_num_rows($miorecord);
    if(
$count==1) {        while ($riga mysqli_fetch_array($miorecord)) {            $_SESSION['username']= $riga['username'];            $_SESSION['loggato']= "si";            header("location: http://*****/gestione.php");        }    } else {        header("location: http://*****/form_accesso.php?cod=1");    }?>
Succede che, sebbene nella tabella utenti sia presente il record cercato col SELECT, e attivo sia = 1, l'if finale mi ricarica form_accesso.php con cod = 1.
Non capisco dove sia l'errore, dato che un login.php, privo di campo attivo, funziona perfettamente in un altro sito, anche con codifica md5 della password.