You should use a board with external storage, for example an Arduino YUN. You have to make a routine which verifies the connection status and that allows you to know if your data is saved or sent, if your data is saved, you could set a flag for send your data when the connection is on. You should take in regard that SD has a maximum number of fields you can fill.
I haven't developed one yet, but you should not have problem with that. Tell me when you finish! I would love to check it out