ciao artorius,filippo.toso mi ha illuminato, il require_once andava trasformato in require altrimenti è ovvio che la variabile $referal rimaneva fissa al primo ciclo