No creo que sea problema de $_SERVER['PHP_SELF'], si dices que guarda la imagen pero no los datos el problema no está en el formulario.
¿Pero como adivinar que estas haciendo con el código que recibe el formulario?
PDTA: para enviar el formulario hacía si mismo no hace falta $_SERVER['PHP_SELF'], con que dejes el action vacío basta.