Hur hantera online/offline formulär?

PHPportalen Forum Index » Diskutera webbutveckling
Lägg ett bokmärke på hela tråden
Skapa nytt inlägg   Svara på inlägget
Visa föregående ämne :: Visa nästa ämne  
Startad av: Meddelande
marcusgarden



Medlem i: 3072 dagar

Status: Offline



#742333
Inlägg Skrivet: 2018-10-12 01:45      Ämne: Hur hantera online/offline formulär? Citera

Jag tänkte göra en sida på min sajt där jag kan mata in olika saker i ett formulär som ska sparas i db.

Problemet är att jag ibland har så dålig uppkoppling att jag tappar all kontakt med omvärlden men skulle vilja kunna fortsätta arbeta ostört.

Jag har kollat på denna sid https://developer.mozilla.org/en-US/docs/Web/API/NavigatorOnLine/Online_and_offline_events samt http://diveintohtml5.info/offline.html men hittar inget bra om hur jag ska göra för att fortsätta arbeta ostört:/

Min tanke är att använda javascriptet i första länken och i raderna

KOD:
1:
window.addEventListener('online',  updateOnlineStatus);
2:
  window.addEventListener('offline', updateOnlineStatus);


köra någon typ av (pseudokod)

KOD:
1:
ifoffline kör formuläret och spara info i en fil
2:
ifonline hämta eventuella filer från offline, spara i db, kör formuläret och spara i db


Vad tror ni om detta?
Ska jag tänka annorlunda?
Finns någon smidigare lösning?
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
harald_b
Moderator



Medlem i: 4533 dagar
Från: Tavesta
Status: Offline



#742334
Inlägg Skrivet: 2018-10-12 13:21      Ämne: Citera

Det finns även möjlighet att lagra data i browsern, där du både har skriv- och läsrättighet:
https://en.wikipedia.org/wiki/Web_storage#localStorage

Om det är så att det går precis lika bra i offlineläge så kude du ju överväga att bara använda det läget.
I annat fall måste du tänka på att det kan uppstå datauppdateringskrockar i samband med att synkronisering sker, som användaren kan behöva ta ställning till.
 

_________________
R.r - Ett fritt affärssystem
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
marcusgarden



Medlem i: 3072 dagar

Status: Offline



#742335
Inlägg Skrivet: 2018-10-16 03:23      Ämne: Citera

Tack för svar!

Ok, men om användaren stänger sin dator, stänger webbläsaren, startar om datorn, råkar ut för elavbrott eller annat?

Vilken risk finns att allt som görs och sparas i localStorage försvinner?

Bör jag spara allt som görs i en textfil som kan laddas upp?

Vad kan jag göra för att säkerställa och skydda mot dataförlust?
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
harald_b
Moderator



Medlem i: 4533 dagar
Från: Tavesta
Status: Offline



#742336
Inlägg Skrivet: 2018-10-16 11:20      Ämne: Citera

marcusgarden skrev:
Tack för svar!

Ok, men om användaren stänger sin dator, stänger webbläsaren, startar om datorn, råkar ut för elavbrott eller annat?

Vilken risk finns att allt som görs och sparas i localStorage försvinner?

Local Storage skall ligga premanent även när browsern eller datorn stängs av.
Plötsliga elavbrott kan alltid ställa till problem, men det gäller även när du sparar till fil.


marcusgarden skrev:
Bör jag spara allt som görs i en textfil som kan laddas upp?

Vad kan jag göra för att säkerställa och skydda mot dataförlust?

Att spara i en textfil som användaren själv måste komma ihåg att ladda upp tycker jag låter som rätt stor risk för missad synkronisering.
Det borde rimligtvis vara mindre risk att detta missas ifall programmet har någon automatisk påminnelse, eller kan utföra synkroniseringen på egen hand.
Skall programmet kunna ordna det på egen hand är nog local storage en förutsättning, eftersom webbaserade program inte får läsa filer på egen hand annars.

Local storage är dock inte tillgängligt när du byter webbläsare eller webbläsarprofil.
 

_________________
R.r - Ett fritt affärssystem
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
marcusgarden



Medlem i: 3072 dagar

Status: Offline



#742337
Inlägg Skrivet: 2018-10-19 01:45      Ämne: Citera

Hej igen och tack så enormt mycket för svaret!

Jag har i alla fall börjat i en riktning:)

Jag har ett formulär med autofocus, en barcode scanner (android app) som stoppar in streckkodsinfo i ett formulärfält och sparar det i localStorage samt att det visas ett litet meddelande om den aktuella statusen på uppkoppling:)

Nästa steg!

När det ligger saker sparat i localStorage...hur skickar jag den informationen vidare till min databas när väl uppkopplingen återkommer??

UPDATE-----

Attans!

Något med locaStorage verkar knas:/

Det som sparas på sidan verkar försvinna när jag uppdaterar sidan:/
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
harald_b
Moderator



Medlem i: 4533 dagar
Från: Tavesta
Status: Offline



#742338
Inlägg Skrivet: 2018-10-19 02:42      Ämne: Citera

Ajax brukar vara en bra lösning för att skicka data mellan klient och server.
Knaset med local storage kräver nog kod för att kunna lösas.
Ett vanligt fel är dock att koden som sparar data dit körs vid fel tillfälle, och helt enkelt sparar tomt data som skriver över det du hade tidigare.
 

_________________
R.r - Ett fritt affärssystem
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
Visa tidigare inlägg:   
Skapa nytt inlägg   Svara på inlägget
PHPportalen Forum Index » Diskutera webbutveckling
Hoppa till:  
Du kan inte skapa nya inlägg i det här forumet
Du kan inte svara på inlägg i det här forumet
Du kan inte ändra dina inlägg i det här forumet
Du kan inte ta bort dina inlägg i det här forumet
Du kan inte rösta i det här forumet
Du kan inte bifoga filer i detta forum
Du kan inte ladda ner filer från detta forum
Kontakta oss på adressen: info@phpportalen.net
Webbplatsen bygger i grunden på phpBB © 2001, 2002 phpBB Group

Modifieringar har senare gjorts i systemet av PHPportalen
Sid och logotypdesign skapad av Daren Jularic