Strona WWW - zapis/odczyt danych

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ę.

axelbest
  • Rejestracja:ponad 17 lat
  • Ostatnio:około 13 godzin
  • Lokalizacja:Warszawa
  • Postów:2251
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ć.

axelbest
  • Rejestracja:ponad 17 lat
  • Ostatnio:około 13 godzin
  • Lokalizacja:Warszawa
  • Postów:2251
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.

czysteskarpety
czysteskarpety
  • Rejestracja:prawie 10 lat
  • Ostatnio:ponad 4 lata
  • Lokalizacja:Piwnica
  • Postów:7697
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ł


axelbest
  • Rejestracja:ponad 17 lat
  • Ostatnio:około 13 godzin
  • Lokalizacja:Warszawa
  • Postów:2251
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)

czysteskarpety
czysteskarpety
  • Rejestracja:prawie 10 lat
  • Ostatnio:ponad 4 lata
  • Lokalizacja:Piwnica
  • Postów:7697
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?

HA
  • Rejestracja:prawie 10 lat
  • Ostatnio:około 7 lat
  • Postów:335
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.

Kopiuj
<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:

Kopiuj
<?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?

Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)