PHP temp. wpisu

0

Witam,
Jaka rada, w jaki sposób najprościej zapisywać temp. wpisów na blogu?

Chodzi o to, że coś się popierdoliło w serwerach proserwera, i nie trzyma sesji ... nim nie było migracji serwerów to kilka dni ciastko pamiętało mnie i nie było problemów. A teraz wygląda to tak, że kilka godzin, jakiś czas piszę wpis. Klikam aby go wysłać, z updatować do bazy... i wyskakuje logowanie do panelu i po wpisie... Nie cofnę tego w przeglądarce bo nie będzie zapisane.

I chodzi mi o to czy da się w tle, np. przez interwał czasowy ... co 1 min, 5 min... robić taki auto-saves tego co mam napisane a nie wysłane, abym mógł sobie to w bazie odtworzyć? i ew. jak to najprościej ugryźć.
Chcę to szybko postawić aby działało ... i robiło w tle takie zapisy. Najlepiej inserty. Wtedy sobie puszczę jakiś osobny skrypt, który np.. backupy starsze niż 5 dni będzie sam usuwał ;>

Póki co jestem na świeżo z problemem gdzie wywaliło mi cały wpis, więc sobie kopiuję do notatnika ... ale może być tak, że za parę dni znowu o tym zapomnę i będzie nieciekawie, w zależności od tego jak dużo się napracowałem...

1

To jest posrany pomysł. Lepiej zrobić po ludzku, żeby sesja trzymała dłużej - a nie żeby klient się musiał prosić żeby go nie wylogowało.

0

No to jak mielicie migracje serwerow to w nowych ustaw ciastko na rok i juz.

0

Ja chyba nie mam ciastek. Ale temp. może się przydać i tak ...
Bo np. wyłączy mi się karta w przeglądarce przypadkiem albo nadpiszę sobie efekty pracy i wszystko przepada.
A tak odpalam kopię i działam.

0
setInterval(() => {
   fetch(`/save.php`, {
      method: 'POST',
      body: JSON.stringify({
          id, // pewnie masz jakieś id wpisu?
          content: document.getElementById('content').value,
      })
   });
}, 5000);

save.php

$id = $_POST['id'];
$content = $_POST['content'];
// SQL typu UPDATE posts SET content = $content WHERE id = $id (pamiętaj o escapowaniu itp.)
0
youmound napisał(a):

Ja chyba nie mam ciastek. Ale temp. może się przydać i tak ...
Bo np. wyłączy mi się karta w przeglądarce przypadkiem albo nadpiszę sobie efekty pracy i wszystko przepada.
A tak odpalam kopię i działam.

To otworz sobie worda onlina i tam pisz posty a ptem przeklejaj

0
youmound napisał(a):

Ja chyba nie mam ciastek. Ale temp. może się przydać i tak ...
Bo np. wyłączy mi się karta w przeglądarce przypadkiem albo nadpiszę sobie efekty pracy i wszystko przepada.
A tak odpalam kopię i działam.

Jak nie masz ciastek, to jak trzymasz sesję?

Jeśli chcesz trzymać stan pomiędzy zamknięciami kart to niestety Twoja jedyna droga to localStorage.

1

Ja to bym zrobił to w sposób następujący:

  1. Przy tworzeniu nowego wpisu automatycznie dodawał wpis do bazy danych z odpowiednim statusem (przykładowo edycja).
  2. Skrypt JS'a, który co określony czas będzie robił UPDATE (czyt. uruchamiał taki auto-save) danego wpisu (co minuta, co pięć, do ustalenia)

I teraz jeżeli wywali mi się przeglądarka (czy jakiś inny problem) to po ponownym załadowaniu miałbym listę wpisów ze statusem DO EDYCJI i tam byłby ten wpis z ostatnimi zmianami. Oczywiście, skrypt auto-save musi być w odpowiedni sposób zabezpieczony aby nikt nie mógł go sobie uruchomić z samego pasku adresu (przykładowo http://strona.pl/autosave.php).

1 użytkowników online, w tym zalogowanych: 0, gości: 1