Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][MySQL][PHP]Przekazywanie danych logowania i sumowanie
Forum PHP.pl > Forum > Przedszkole
amdziak
Witam,

mam formularz do którego będzie można trafić tylko po zalogowaniu się użytkownika i teraz mam do tego parę pytań:

1) w jaki sposób zrobić logowanie: login, hasło, nip_firmy tak aby po przekierowaniu na formularz(prawidłowe zalogowanie) w formularzu automatycznie uzupełniły się dane user'a oraz firmy na podstawie jej nip'u (z select'em sobie poradzę smile.gif )
2) w jaki sposób zrobić sumowanie pul(funkcja sum() niestety nie działa..):
OUTPUT1_4
OUTPUT1_3
OUTPUT1_2
OUTPUT1_1
OUTPUT1
do pola:
razem
3) z zapisem do bazy sobie poradzę, ale zastanawiam się czy nie zrobić jeszcze dodatkowo generacji pdf'a... Co polecacie? Co jest najprostsze i najmniej inwazyjne?

Z góry, dzięki za wszystkie odpowiedzi!

Poniżej, kod form.php:

  1.  
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transititonal//EN"
  3. ""http://www.w3.org/TR/XHTML1/DTD/xhtml1-transitional.dtd">
  4.  
  5. <html>
  6. <head></head>
  7. <body>
  8. <form name="f1" >
  9.  
  10. </br></br></br><center>
  11. <h2> Protokół z wizyty NR: <input type=text size = 12 name=nr></h2></br>
  12. <h4>Protokół wizyty w firmie: <input type=text size=80 name=nazwa_firmy> NIP: <input type=text size=12 name=nip></br>
  13. Osoba wykonująca: </br>
  14. Usługa wykonana dnia: <input type=text size=5> Jak: <input type=radio name=jak value=u_klienta> U Klienta <input type=radio name=jak value =zdalnie> Zdalnie
  15. W godzinach: Od: <input type=text size=3> Do: <input type=text size=3>
  16. Łącznie godzin: <input type=text size=1>
  17. </br></br>
  18. Na Życzenie Klienta wykonano: </br>
  19. <textarea rows=8 cols=100> </textarea> </br>
  20.  
  21. Uwagi ze strony klienta:
  22. <textarea rows=4 cols=45> </textarea>
  23. Uwagi ze strony Wykonawcy:
  24. <textarea rows=4 cols=45> </textarea> </br> </br>
  25.  
  26. Rodzaj usługi:
  27.  
  28. <input type=radio name=rodzaj>Usługa Płatna
  29. <input type=radio name=rodzaj>Usługa Express
  30. <input type=radio name=rodzaj>Raport do Programu
  31. <input type=radio name=rodzaj>Umowa Serwisowa
  32. <input type=radio name=rodzaj>Umowa Wdrożeniowa
  33. </br>
  34. </br>
  35. <table>
  36. <tr>
  37. <td>Opis Usługi</td>
  38. <td>Ilość</td>
  39. <td>Cena</td>
  40. <td>Wartość</td>
  41. </tr>
  42. <tr>
  43. <td><input type="text" name="opis_uslugi" size =90></td>
  44. <td><input type="number2" name="INPUT1" id="input" onchange="calculate();"></td>
  45. <td><input type="number2" name="INPUT2" id="input" onchange="calculate();"></td>
  46. <td><input type="number2" name="OUTPUT1" id="output" onchange="sum()" readonly="readonly" ></td>
  47. </tr>
  48.  
  49. <tr>
  50. <td><input type="text" name="opis_uslugi" size =90></td>
  51. <td><input type="number2" name="INPUT1_1" id="input" onchange="calculate_1();"></td>
  52. <td><input type="number2" name="INPUT2_1" id="input" onchange="calculate_1();"></td>
  53. <td><input type="number2" name="OUTPUT1_1" id="output" onchange="sum()" readonly="readonly" ></td>
  54. </tr>
  55.  
  56. <tr>
  57. <td><input type="text" name="opis_uslugi" size =90></td>
  58. <td><input type="number2" name="INPUT1_2" id="input" onchange="calculate_2();"></td>
  59. <td><input type="number2" name="INPUT2_2" id="input" onchange="calculate_2();"></td>
  60. <td><input type="number2" name="OUTPUT1_2" id="output" onchange="sum()" readonly="readonly" ></td>
  61. </tr>
  62.  
  63. <tr>
  64. <td><input type="text" name="opis_uslugi" size =90></td>
  65. <td><input type="number2" name="INPUT1_3" id="input" onchange="calculate_3();"></td>
  66. <td><input type="number2" name="INPUT2_3" id="input" onchange="calculate_3();"></td>
  67. <td><input type="number2" name="OUTPUT1_3" id="output" onchange="sum()" readonly="readonly" ></td>
  68. </tr>
  69.  
  70. <tr>
  71. <td><input type="text" name="opis_uslugi" size =90></td>
  72. <td><input type="number2" name="INPUT1_4" id="input" onchange="calculate_4();"></td>
  73. <td><input type="number2" name="INPUT2_4" id="input" onchange="calculate_4();"></td>
  74. <td><input type="number2" name="OUTPUT1_4" id="output" onchange="sum()" readonly="readonly" ></td>
  75. </tr>
  76. <tr>
  77. <td></td>
  78. <td></td>
  79. <td>Razem wartość Netto:</td>
  80. <td><input type="number2" name="razem" id="suma" size=10 readonly="readonly"> </td></tr>
  81. </table>
  82.  
  83. <h6>
  84. </h6>
  85. </h4></center>
  86.  
  87. </form>
  88.  
  89. <script type="text/javascript">
  90. function calculate() {
  91. var USERINPUT1 = document.f1.INPUT1.value;
  92. var USERINPUT2 = document.f1.INPUT2.value;
  93. var CALC1 = USERINPUT1*USERINPUT2;
  94. document.f1.OUTPUT1.value = CALC1;
  95. }
  96. </script>
  97.  
  98. <script type="text/javascript">
  99. function calculate_1() {
  100. var USERINPUT1_1 = document.f1.INPUT1_1.value;
  101. var USERINPUT2_1 = document.f1.INPUT2_1.value;
  102. var CALC1_1 = USERINPUT1_1*USERINPUT2_1;
  103. document.f1.OUTPUT1_1.value = CALC1_1;
  104. }
  105. </script>
  106.  
  107. <script type="text/javascript">
  108. function calculate_2() {
  109. var USERINPUT1_2 = document.f1.INPUT1_2.value;
  110. var USERINPUT2_2 = document.f1.INPUT2_2.value;
  111. var CALC1_2 = USERINPUT1_2*USERINPUT2_2;
  112. document.f1.OUTPUT1_2.value = CALC1_2;
  113. }
  114. </script>
  115.  
  116. <script type="text/javascript">
  117. function calculate_3() {
  118. var USERINPUT1_3 = document.f1.INPUT1_3.value;
  119. var USERINPUT2_3 = document.f1.INPUT2_3.value;
  120. var CALC1_3 = USERINPUT1_3*USERINPUT2_3;
  121. document.f1.OUTPUT1_3.value = CALC1_3;
  122. }
  123. </script>
  124.  
  125. <script type="text/javascript">
  126. function calculate_4() {
  127. var USERINPUT1_4 = document.f1.INPUT1_4.value;
  128. var USERINPUT2_4 = document.f1.INPUT2_4.value;
  129. var CALC1_4 = USERINPUT1_4*USERINPUT2_4;
  130. document.f1.OUTPUT1_4.value = CALC1_4;
  131. }
  132. </script>
  133.  
  134. <script type="text/javascript">
  135. function sum() {
  136. var USEROUTPUT1 = document.f1.OUTPUT1.value;
  137. var USEROUTPUT2 = document.f1.OUTPUT1_1.value;
  138. var USEROUTPUT3 = document.f1.OUTPUT1_2.value;
  139. var USEROUTPUT4 = document.f1.OUTPUT1_3.value;
  140. var USEROUTPUT5 = document.f1.OUTPUT1_4.value
  141. var CALC = USEROUTPUT1+USEROUTPUT2;
  142. var CALC1 = CALC+USEROUTPUT3;
  143. var CALC2 = CALC1+USEROUTPUT4;
  144. var CALC3 = CALC2+USEROUTPUT5;
  145. document.f1.suma.value = CALC3;
  146. }
  147. </script>
  148. </body>
  149. </html>



Nikt nie pomoże? smile.gif
modern-web
1) nie rozumiem
2) po stronie klienta czy serwera? w momencie przesłania formularza możesz zsumować wartości odebrane z tych pól
3) do generowania pdf znajdziesz gotowe biblioteki: FPDF / TCPDF, nie wiem w jaki inny sposób chciałbyś przedstawić te wyniki także Ci nie odpowiem, który sposób jest najmniej inwazyjny

I tak nawiasem, w temacie dałeś tagi [PHP] oraz [MySQL], a w przytoczonym przez Ciebie kodzie nie ma nawet wzmianki na ten temat.
Jak mniemam chodziło o JS, bo to za jego pomocą chciałbyś sumować wartości, a w PHP jedynie generować PDF.
Popraw to proszę bo wprowadza w błąd smile.gif
amdziak
Dzięki za odpowiedź smile.gif

Ad. 1: Chodzi mi o to, aby dostęp do tego formularza był poprzez logowanie, a w momencie zalogowania pojawiło się w odpowiednich polach formularza dane zaciągnięte z bazy
Ad. 2: Chodzi mi o to, aby robione to było dynamicznie tak jak w polach OUTPUT, czyli wpisuje jakąś wartość, przelicza się to do OUTPUT'a i automatycznie do razem sumuje się z OUTPUT'ow
Ad. 3: poczytam o tych bibliotekach.

Wy edytowałem posta smile.gif
modern-web
1) czyli logujesz po stronie serwera, dalej wystarczy zapisać w sesji np. nick albo cokolwiek co wskaże użytkownika, a na stronie z formularzem dobrać resztę danych z bazy. jeżeli podczas logowania użytkownik musi wprowadzić wszystkie dane, których oczekujesz w formularzu to może w przypadku zgodności zwyczajnie je zapisz również w sesji - nie będziesz musiał robić kolejnego zapytania.

2) w czasie rzeczywistym? poczytaj o zdarzeniach w JS, myślę że to Ci się przyda: http://jsfiddle.net/YE5vF/2/

3) polecam smile.gif

Dzięki wielkie, moderatorzy i społeczność będzie Ci wdzięczna na wieki biggrin.gif
amdziak
A jakiś przykład ad 1 ? smile.gif
modern-web
A masz cokolwiek? Jakieś początki skryptu logowania? Mogę Cię naprowadzić ale chyba całego pisać Ci tutaj nie będę biggrin.gif
W necie jest masa gotowych (co prawda często niedorobionych) skryptów ale stanowią one dobrą podstawę do takiego prostego mechanizmu na sam początek smile.gif
amdziak
w sumie to nie mam nic sad.gif
także jeśli jest taka możliwość to poprosiłbym o naprowadzenie smile.gif
A jakbyś napisał tutaj to już wogóle bym się nie pogniewał biggrin.gif
modern-web
To może trochę historii z forum:

http://forum.php.pl/index.php?showtopic=226033
http://forum.php.pl/index.php?showtopic=202796

Tego typu problemy poruszane były setki razy smile.gif
Nie ma co omawiać tego po raz kolejny.

Jak mniemam Twoja wiedza na temat PHP jest znikoma, dlatego nie polecam Ci rozbudowanych, obiektowych skryptów, które znajdziesz w necie.
Miałem kiedyś na dysku taki prosty mechanizm ale niestety nie mogę go teraz znaleźć :/
amdziak
Jakbyś go odnalazł byłoby fajnie smile.gif

Te linki, akurat mają mało kodu, ale szukam cały czas biggrin.gif
Tymczasem Klikam "Pomógł" smile.gif
modern-web
Znalazłem na innym dysku smile.gif
Zanim dam linka powiem tak: jest to zabytkowy skrypt i traktować go można jako dobre pole do nauki, odradzam implementowanie go w komercyjnym projekcie bo jest zwyczajnie przestarzały smile.gif

http://speedy.sh/ahHNG/members.zip

Ma to czego potrzebujesz, dobry podział na pliki przez co nie powinieneś mieć problemu ze zrozumieniem samego mechanizmu.

p.s.
dzięki za "pomógł" smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.