1- Sorununuzu 58. satırdaki kodu bununla değiştirirseniz çözmüş olursunuz.
   $dosya_adi = strtolower($_FILES['foto']['name']);
   $dosya_adi=$dosya_adi.rand(10000,99999);
2- Sorununuz için if yapısını değiştirmeniz gerek , resim gelmediği zaman işlem yapmıyor bunu resime bağlı olarak devam etmemesi gerekli.Tüm durumları işlemeniz gerek, yapamazsanız yazarsanız yardımcı olabilirim.