Follow this tutorial for writing the LocalStorageService:
http://learn.ionicframework.com/formulas/localstorage/
Once you have the localstorage service, you can set the data you need (user's info).
Then when you want to upload it, you GET the info from localstorage, and make a POST request to your remote server.
As far as when you want to upload, thats up to you. You could do something like periodically checking the network connection, and once its over a certain value that you deem passible, then make the POST request to the server.
Does this help?