EEPROM not retrieving properly after repowering UNO

I have created a Struct having a string array and stored three strings.

I stored that string in EEPROM using EEPROM.put() and after storing i tried to re-power arduino UNO.

When I retrieve using EEPROM.get() the content is someting like messy characters(?,>,w,q…etc…)

Everything works NORMAL when i reset my UNO and retrieved properly but not when repowered.

i have attached the flow of part of my code

struct mylpg
{
  String booking[4];
}info;

.
.
.

   for(int i=0;c!='*';i++) 
   {
    temp.concat(c);
    c=str.charAt(l+7+i+1);
   }
   info.booking[j]=String(temp);
   EEPROM.put(5,info);

.
.
.

void get_mylpg()
{
  EEPROM.get(5,info);
}

Screenshot from 2017-04-11 19-20-51.png

You just can not EEPROM.put() String objects (or any object containing pointers).

You could save their content as char arrays.