Verifica que la variable de sesion si exista en el script "contacto.php", mediante la siguiente instruccion:
Código PHP:
Ver originalif (isset($_SESSION['tmptxt')) echo "Si existe la variable";
else
echo "La variable no existe";
Si la variable no existe, entonces quiere decir que no se estan estableciendo las variables de sesion. Verifica que tu navegador este aceptando cookies.
Algo que puede estar afectando, es cuando envias la imagen con los headers.
Un problema comun que existe es cuando se utilizan los headers para redireccionar a otra pagina. En este caso, las variables de sesion no se establecen debido a que el script tiene que terminar primero para que puedan estabelcerse los valores, y al hacer el redirect, eso no sucede. No se si lo mismo aplique para el caso de enviar la imagen con los headers. Igual prueba quitando el que envie la imagen, y que solo mande texto por ejemplo, para ver si asi se establece correctamente la variable.
Suerte!