Teen uuden version, jossa on kaksi toimintatilaa: normaali yhteiskäyttö ja paikallinen tarkistustila. Paikallisessa tilassa voit palauttaa varmuuskopion, muokata sitä, laskea kulut ja vasta sitten julkaista tarkistetut tiedot kaikille. Julkaisussa tarkistetaan palvelimen lukitus ja mahdolliset välissä tehdyt muutokset. Jos yhteiset tiedot ovat muuttuneet, julkaiseminen vaatii erillisen vahvistuksen. Korjatut tiedostot Ruokalaskuri – uusi versio HTML · Paikallinen tarkistustila ja julkaisu kaikille Lataa ruokalaskuri_uusi.html Palvelimen tallennusohjelma PHP · Lukituksen ja tallennuksen parannukset Lataa tallenna_uusi.php Mitä muutin? - Korjasin JSON-varmuuskopion lukemisen. - Lisäsin paikallisen tarkistustilan, joka säilyy selaimen uudelleenkäynnistyksen yli. - Lisäsin Julkaise kaikille- ja Hylkää paikallinen versio -painikkeet. - Julkaiseminen vaatii käyttäjän vahvistuksen. - Jos palvelimen tiedot ovat muuttuneet tarkistuksen aikana, ohjelma varoittaa ennen niiden korvaamista. - Julkaisun yhteydessä ladataan varmuuskopio palvelimen edellisistä tiedoista. - PHP tarkistaa tallennuksen onnistumisen ja käyttää tiedostolukitusta samanaikaisten kirjoitusten estämiseksi. Asennus 1. Ota ensin talteen nykyiset ruokalaskuri.html, tallenna.php, mokkidata.json ja lukitus.json. 2. Korvaa palvelimella vanha HTML-tiedosto uuden HTML-tiedoston sisällöllä. 3. Korvaa tallenna.php uuden PHP-tiedoston sisällöllä. Palvelimella tiedoston nimen pitää edelleen olla tallenna.php. 4. Säilytä nykyinen mokkidata.json, jotta yhteiset tiedot eivät katoa. 5. Avaa ruokalaskuri ja kokeile palautusta ensin testivarmuuskopiolla. PHP:n täytyy voida kirjoittaa hakemistoonsa sekä JSON- ja lukitustiedostoihin. Tarkistus: PHP:n ja JavaScriptin syntaksi on tarkistettu. Varsinaista monen selaimen yhteiskäyttöä ja palvelintallennusta ei ole vielä testattu oikealla PHP-palvelimella, joten suosittelen testaamaan ensin erillisessä testihakemistossa. Uusi versio säilyttää alkuperäisen kululaskennan, osallistujien kertoimet, vastuumaksajat ja 14 päivän läsnäolotaulukon.