Il faut débugguer.
Pour cela, vous mettez des traces (par exemple des lignes echo ....) pour voir ce qui se passe.
Lorsque quelque chose d'étrange se produit, examinez attentivement la ligne pour comprendre le problème.
Au besoin, si une ligne (pas un pavé énorme) vous pose problème, mettez-là ici, et on vous aidera à la comprendre.