ok trovato l'errore
if(!$categoria)
{$categoria==1;}
corretto con
if(!$categoria)
{$categoria=1;}
il problema che pur arrivando con il link file.php?categoria=2 per lui categoria è sempre 1..perchè? con php 4.3.10 bisogna dirgli in modo diverso le variabili che arrivano dagli url?