Strona WWW - zapis/odczyt danych

0

Witam wszystkich, potrzebuję rozwiązania dla amatora na następujący problem:
Mam stronę internetową http://skrzatec.cba.pl/ która słuzy mi jako prosty kalkulator. Są tam pola tekstowe do wypełnienia dzięki którym kalkulator wykonuje odpowiedni algorytm.
Chciałbym zrobić button/guzik/cokolwiek zapisujący mi wpisane przeze mnie wartości do pliku a drugi button/guzik/cokolwiek odczytujący te wartości do tych samych pól.
Szukam najprostszego rozwiązania bo jestem amatorem. Dziękuję.

0

Zamiast do pliku - sugerowałbym zapis do bazy danych. Według mnie niepotrzebnie używasz ramek (frame name="prawo") - tego już się nie stosuje, są inne metody na to np Ajax.
A wracając do samego zapisu - ja bym to zrobił tak -

  1. Powtarzające się wartości - ew wspomagane "typem" zapisywałbym w oddzielnej tabeli - np rodzaje stali głównej.
  2. Każdą wpisaną wartość z formularza - także zapisywałbym do tabeli która by przechowywała owe wartości - a przy okazji wyniki.

Rozumiem też, że wpisując dane wejściowe - masz potrzebę zapisać je, oraz odtworzyć wyniki. Tutaj sugerowałbym je jakoś sensownie opisywać (nie każdy kalkulator u Ciebie ma pole "nazwa projektu") - wiec żebyś potem był w stanie to odnaleźć dodałbym wszędzie jakieś pola z nazwą danego obliczenia.

Poza tym na jednej ze stron wywala Ci '); docprint.document.close(); docprint.focus(); } (belka żelbetonowa)

0
axelbest napisał(a):

Zamiast do pliku - sugerowałbym zapis do bazy danych. Według mnie niepotrzebnie używasz ramek (frame name="prawo") - tego już się nie stosuje, są inne metody na to np Ajax.
A wracając do samego zapisu - ja bym to zrobił tak -

  1. Powtarzające się wartości - ew wspomagane "typem" zapisywałbym w oddzielnej tabeli - np rodzaje stali głównej.
  2. Każdą wpisaną wartość z formularza - także zapisywałbym do tabeli która by przechowywała owe wartości - a przy okazji wyniki.

Rozumiem też, że wpisując dane wejściowe - masz potrzebę zapisać je, oraz odtworzyć wyniki. Tutaj sugerowałbym je jakoś sensownie opisywać (nie każdy kalkulator u Ciebie ma pole "nazwa projektu") - wiec żebyś potem był w stanie to odnaleźć dodałbym wszędzie jakieś pola z nazwą danego obliczenia.

Poza tym na jednej ze stron wywala Ci '); docprint.document.close(); docprint.focus(); } (belka żelbetonowa)

Może i stosuje się inne metody ale ten moment zostawmy to w ramkach.
Błąd wynika z tych cholernych reklam, nie ma co się nim przejmować.
Zapis/odczyt może być do tabeli choć chyba wolałbym do pliku. Program ten będę używał stacjonarnie (nie w sieci), aczkolwiek na razie jest zamieszczony i w przyszłości może go rozwinę.
Tak czy tak potrzebne mi instrukcje w jaki sposób to zrobić.

0

Jeśli chcesz zapisywać do pliku to OK - (w php pomoże Ci z tym fopen/fwrite). Pomimo tego nadal polecam użycie bazy danych - ponieważ robiąc "swoją pseudo-bazę" w pliku - napotkasz pewnie więcej problemów. A co do bazy to może być to np sqlite.

A instrukcje jako tako podałem wcześniej - przy czym w podejściu z plikiem tekstowym będziesz i tak musiał jakoś te dane odseparować i zastosować jakiś format (np json, csv, xlsx).
A dokładnie jakich instrukcji potrzebujesz, bo nie wiem z czym dokładnie masz problem?
Z zapisem do plików? php->fopen i fwrite
Z bazą danych? mysql tutorial albo sqlite tutorial

0
axelbest napisał(a):

Jeśli chcesz zapisywać do pliku to OK - (w php pomoże Ci z tym fopen/fwrite). Pomimo tego nadal polecam użycie bazy danych - ponieważ robiąc "swoją pseudo-bazę" w pliku - napotkasz pewnie więcej problemów. A co do bazy to może być to np sqlite.

A instrukcje jako tako podałem wcześniej - przy czym w podejściu z plikiem tekstowym będziesz i tak musiał jakoś te dane odseparować i zastosować jakiś format (np json, csv, xlsx).
A dokładnie jakich instrukcji potrzebujesz, bo nie wiem z czym dokładnie masz problem?
Z zapisem do plików? php->fopen i fwrite
Z bazą danych? mysql tutorial albo sqlite tutorial

O bazach danych sobie poczytam. Na ten moment zostaję przy pierwotnym planie php ->fopen i fwrite (choć z php nie miałem jeszcze styczności)
W podanych linku mam takie dane:
<input value="0" type="text" id="b1" size="4" />
<input value="3" type="radio" name="optradio">
<input class="form-control" placeholder="Nazwa projektu" type="text" id="nazwa" />
<select id="fi">
<option selected="selected">12</option>
<option>14</option>
</select>
<select id="lBetonID" onchange="showData()">
, gdzie showData() to http://skrzatec.cba.pl/moduly/belka_tabele.js
jak skonstruować fwrite i fopen używając buttona aby informacje z w/w elementów zapisać lub wczytać z pliku. Potrzebny kod.

0
pop3k napisał(a):

Na ten moment zostaję przy pierwotnym planie php ->fopen i fwrite (choć z php nie miałem jeszcze styczności)

to lepiej sobie poczytaj w pierwszej kolejności o bezpieczeństwie żebyś sobie krzywdy nie zrobił

0

To i ja dodam, że przy takim zadaniu jakie sobie wytyczyłeś - najpierw nauczyłbym się tego jak działają formularze w htmlu i jak odbierać z nich dane.

Np taki <select id="fi"> jak wyżej podałeś - nie ma atrybutu name - rzadko się z tym spotykałem, ale obstawiam że po przesłaniu (nieważne czy GET czy POST) - te dane nie trafią do serwera.

0
axelbest napisał(a):

To i ja dodam, że przy takim zadaniu jakie sobie wytyczyłeś - najpierw nauczyłbym się tego jak działają formularze w htmlu i jak odbierać z nich dane.

Np taki <select id="fi"> jak wyżej podałeś - nie ma atrybutu name - rzadko się z tym spotykałem, ale obstawiam że po przesłaniu (nieważne czy GET czy POST) - te dane nie trafią do serwera.

Te dane są jedynie przejmowane przez js i wykonywane są na nich obliczenia. Czy to jest niebezpieczne?

0
pop3k napisał(a):
axelbest napisał(a):

To i ja dodam, że przy takim zadaniu jakie sobie wytyczyłeś - najpierw nauczyłbym się tego jak działają formularze w htmlu i jak odbierać z nich dane.

Np taki <select id="fi"> jak wyżej podałeś - nie ma atrybutu name - rzadko się z tym spotykałem, ale obstawiam że po przesłaniu (nieważne czy GET czy POST) - te dane nie trafią do serwera.

Te dane są jedynie przejmowane przez js i wykonywane są na nich obliczenia. Czy to jest niebezpieczne?

A i przejmuje dane nie po nazwie tylko po id (jako amator nie widziałem różnicy)

0

zależy kto będzie mógł wysyłać te dane, ja bym to zrobił na hasło, żeby lekko odsiać zbędny spam

0
czysteskarpety napisał(a):

zależy kto będzie mógł wysyłać te dane, ja bym to zrobił na hasło, żeby lekko odsiać zbędny spam

OK, przemyślę to.
Wracając do głównego pytania: Pomożecie skonstruować kod żeby odczytywało/zapisywało w/w wartości?

0

zależy kto będzie mógł wysyłać te dane, ja bym to zrobił na hasło, żeby lekko odsiać zbędny spam

Albo reCAPTCHA (https://www.google.com/recaptcha/intro/android.html) czy coś w podobie

0

Słuchajcie, zrobiłem piękne zapisywanie danych z vaule do csv.

<form action="save.php" method="post" name="myform" id="myform">
  <a href="#" onclick="document.getElementById('fileID').click(); return false;" class="btn" >SAVE</a> <input id="fileID" type="submit" style="visibility: hidden; display: none;" />

  
  <br><input type="text" name="username" required="1"/>
  <br><input class="form-control" placeholder="Nazwa projektu" type="text" id="nazwa" name="nazwa"/>
  <br><select id="fi" name="fi">
          <option>6</option>
          <option selected>12</option>
      </select>
  <br><input checked type="checkbox" id="czek0" name="czek0" />
</form>

i save.php:

<?PHP
if(isset($_POST['username'])){
header("Content-type: text/csv");
header("Content-Disposition: attachment; filename=file.csv");
header("Pragma: no-cache");
header("Expires: 0");

  $file = fopen('php://output', 'w');
  fwrite($file, $_POST['username'].PHP_EOL);
  fwrite($file, $_POST['nazwa'].PHP_EOL);
  fwrite($file, $_POST['fi'].PHP_EOL);
  fwrite($file, $_POST['czek0'].PHP_EOL);
  fclose($file);
}
?>

Zapisuję plik na komputerze. Teraz chciałbym go wczytać po to, aby automatycznie podmieniło mi moje 4 wybrane wartości na stronie (username, nazwa, fi i czek0). Da się tak?

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