Debugga con echo il valore delle variabili e commenta il codice a blochhi per capire dove non va un pezzo di codice alla volta fino al punto in cui trovi che non viene passato un valore.