Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript][MySQL][PHP]Przekazywanie danych logowania i sumowanie
amdziak
post
Post #1





Grupa: Zarejestrowani
Postów: 36
Pomógł: 1
Dołączył: 2.01.2012

Ostrzeżenie: (0%)
-----


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ę (IMG:style_emoticons/default/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? (IMG:style_emoticons/default/smile.gif)

Ten post edytował amdziak 15.01.2014, 22:19:50
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 9)
modern-web
post
Post #2





Grupa: Zarejestrowani
Postów: 763
Pomógł: 117
Dołączył: 15.03.2010
Skąd: void

Ostrzeżenie: (0%)
-----


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 (IMG:style_emoticons/default/smile.gif)

Ten post edytował modern-web 15.01.2014, 21:41:38
Go to the top of the page
+Quote Post
amdziak
post
Post #3





Grupa: Zarejestrowani
Postów: 36
Pomógł: 1
Dołączył: 2.01.2012

Ostrzeżenie: (0%)
-----


Dzięki za odpowiedź (IMG:style_emoticons/default/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 (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
modern-web
post
Post #4





Grupa: Zarejestrowani
Postów: 763
Pomógł: 117
Dołączył: 15.03.2010
Skąd: void

Ostrzeżenie: (0%)
-----


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 (IMG:style_emoticons/default/smile.gif)

Dzięki wielkie, moderatorzy i społeczność będzie Ci wdzięczna na wieki (IMG:style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post
amdziak
post
Post #5





Grupa: Zarejestrowani
Postów: 36
Pomógł: 1
Dołączył: 2.01.2012

Ostrzeżenie: (0%)
-----


A jakiś przykład ad 1 ? (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
modern-web
post
Post #6





Grupa: Zarejestrowani
Postów: 763
Pomógł: 117
Dołączył: 15.03.2010
Skąd: void

Ostrzeżenie: (0%)
-----


A masz cokolwiek? Jakieś początki skryptu logowania? Mogę Cię naprowadzić ale chyba całego pisać Ci tutaj nie będę (IMG:style_emoticons/default/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 (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
amdziak
post
Post #7





Grupa: Zarejestrowani
Postów: 36
Pomógł: 1
Dołączył: 2.01.2012

Ostrzeżenie: (0%)
-----


w sumie to nie mam nic (IMG:style_emoticons/default/sad.gif)
także jeśli jest taka możliwość to poprosiłbym o naprowadzenie (IMG:style_emoticons/default/smile.gif)
A jakbyś napisał tutaj to już wogóle bym się nie pogniewał (IMG:style_emoticons/default/biggrin.gif)

Ten post edytował amdziak 15.01.2014, 22:54:06
Go to the top of the page
+Quote Post
modern-web
post
Post #8





Grupa: Zarejestrowani
Postów: 763
Pomógł: 117
Dołączył: 15.03.2010
Skąd: void

Ostrzeżenie: (0%)
-----


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 (IMG:style_emoticons/default/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źć :/
Go to the top of the page
+Quote Post
amdziak
post
Post #9





Grupa: Zarejestrowani
Postów: 36
Pomógł: 1
Dołączył: 2.01.2012

Ostrzeżenie: (0%)
-----


Jakbyś go odnalazł byłoby fajnie (IMG:style_emoticons/default/smile.gif)

Te linki, akurat mają mało kodu, ale szukam cały czas (IMG:style_emoticons/default/biggrin.gif)
Tymczasem Klikam "Pomógł" (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
modern-web
post
Post #10





Grupa: Zarejestrowani
Postów: 763
Pomógł: 117
Dołączył: 15.03.2010
Skąd: void

Ostrzeżenie: (0%)
-----


Znalazłem na innym dysku (IMG:style_emoticons/default/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 (IMG:style_emoticons/default/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ł" (IMG:style_emoticons/default/smile.gif)

Ten post edytował modern-web 15.01.2014, 23:15:49
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 18:32