Przekazywanie danych z logowania i sumowanie

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ę smile.gif )
  2. w jaki sposób zrobić sumowanie ort!(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:

 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transititonal//EN"
""http://www.w3.org/TR/XHTML1/DTD/xhtml1-transitional.dtd">

<html>
<head></head>
<body>
<form name="f1" >

</br></br></br><center>
<h2> Protokół z wizyty NR: <input type=text size = 12 name=nr></h2></br>
<h4>Protokół wizyty w firmie: <input type=text size=80 name=nazwa_firmy> NIP: <input type=text size=12 name=nip></br>
Osoba wykonująca: </br>
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
W godzinach: Od: <input type=text size=3> Do: <input type=text size=3>
Łącznie godzin: <input type=text size=1>
</br></br>
Na Życzenie Klienta wykonano: </br>
<textarea rows=8 cols=100> </textarea> </br>

Uwagi ze strony klienta: 
<textarea rows=4 cols=45> </textarea>
Uwagi ze strony Wykonawcy:
<textarea rows=4 cols=45> </textarea> </br> </br>

Rodzaj usługi:

<input type=radio name=rodzaj>Usługa Płatna
<input type=radio name=rodzaj>Usługa Express
<input type=radio name=rodzaj>Raport do Programu
<input type=radio name=rodzaj>Umowa Serwisowa
<input type=radio name=rodzaj>Umowa Wdrożeniowa
</br>
</br>
<table>
<tr>
<td>Opis Usługi</td>
<td>Ilość</td>
<td>Cena</td>
<td>Wartość</td>
</tr>
<tr>
<td><input type="text" name="opis_uslugi" size =90></td>
<td><input type="number2" name="INPUT1" id="input" onchange="calculate();"></td>
<td><input type="number2" name="INPUT2" id="input" onchange="calculate();"></td>
<td><input type="number2" name="OUTPUT1" id="output" onchange="sum()" readonly="readonly" ></td>  
</tr>

<tr>
<td><input type="text" name="opis_uslugi" size =90></td>
<td><input type="number2" name="INPUT1_1" id="input" onchange="calculate_1();"></td>
<td><input type="number2" name="INPUT2_1" id="input" onchange="calculate_1();"></td>
<td><input type="number2" name="OUTPUT1_1" id="output" onchange="sum()" readonly="readonly" ></td>  
</tr>

<tr>
<td><input type="text" name="opis_uslugi" size =90></td>
<td><input type="number2" name="INPUT1_2" id="input" onchange="calculate_2();"></td>
<td><input type="number2" name="INPUT2_2" id="input" onchange="calculate_2();"></td>
<td><input type="number2" name="OUTPUT1_2" id="output" onchange="sum()" readonly="readonly" ></td>  
</tr>

<tr>
<td><input type="text" name="opis_uslugi" size =90></td>
<td><input type="number2" name="INPUT1_3" id="input" onchange="calculate_3();"></td>
<td><input type="number2" name="INPUT2_3" id="input" onchange="calculate_3();"></td>
<td><input type="number2" name="OUTPUT1_3" id="output" onchange="sum()" readonly="readonly" ></td>  
</tr>

<tr>
<td><input type="text" name="opis_uslugi" size =90></td>
<td><input type="number2" name="INPUT1_4" id="input" onchange="calculate_4();"></td>
<td><input type="number2" name="INPUT2_4" id="input" onchange="calculate_4();"></td>
<td><input type="number2" name="OUTPUT1_4" id="output" onchange="sum()" readonly="readonly" ></td>  
</tr>
<tr>
<td></td>
<td></td>
<td>Razem wartość Netto:</td>
<td><input type="number2" name="razem" id="suma" size=10 readonly="readonly"> </td></tr>
</table>

<h6>
</h6>
 </h4></center>

 </form>
 
<script type="text/javascript">
function calculate() {
var USERINPUT1 = document.f1.INPUT1.value;
var USERINPUT2 = document.f1.INPUT2.value;
var CALC1 = USERINPUT1*USERINPUT2;
document.f1.OUTPUT1.value = CALC1;
}
</script>

<script type="text/javascript">
function calculate_1() {
var USERINPUT1_1 = document.f1.INPUT1_1.value;
var USERINPUT2_1 = document.f1.INPUT2_1.value;
var CALC1_1 = USERINPUT1_1*USERINPUT2_1;
document.f1.OUTPUT1_1.value = CALC1_1;
}
</script>

<script type="text/javascript">
function calculate_2() {
var USERINPUT1_2 = document.f1.INPUT1_2.value;
var USERINPUT2_2 = document.f1.INPUT2_2.value;
var CALC1_2 = USERINPUT1_2*USERINPUT2_2;
document.f1.OUTPUT1_2.value = CALC1_2;
}
</script>

<script type="text/javascript">
function calculate_3() {
var USERINPUT1_3 = document.f1.INPUT1_3.value;
var USERINPUT2_3 = document.f1.INPUT2_3.value;
var CALC1_3 = USERINPUT1_3*USERINPUT2_3;
document.f1.OUTPUT1_3.value = CALC1_3;
}
</script>

<script type="text/javascript">
function calculate_4() {
var USERINPUT1_4 = document.f1.INPUT1_4.value;
var USERINPUT2_4 = document.f1.INPUT2_4.value;
var CALC1_4 = USERINPUT1_4*USERINPUT2_4;
document.f1.OUTPUT1_4.value = CALC1_4;
}
</script>

<script type="text/javascript">
function sum() {
var USEROUTPUT1 = document.f1.OUTPUT1.value;
var USEROUTPUT2 = document.f1.OUTPUT1_1.value;
var USEROUTPUT3 = document.f1.OUTPUT1_2.value;
var USEROUTPUT4 = document.f1.OUTPUT1_3.value;
var USEROUTPUT5 = document.f1.OUTPUT1_4.value
var CALC = USEROUTPUT1+USEROUTPUT2;
var CALC1 = CALC+USEROUTPUT3;
var CALC2 = CALC1+USEROUTPUT4;
var CALC3 = CALC2+USEROUTPUT5;
document.f1.suma.value = CALC3;
}
</script>
</body>
</html>

dodanie znacznika <code> - fp

1
phate napisał(a):
  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

wstawiając te dane w value tych inputów

(z select'em sobie poradzę smile.gif )

nieładnie tak kopiować tematy z innych for ;)

  1. w jaki sposób zrobić sumowanie ort!(funkcja sum() niestety nie działa..):
OUTPUT1_4
OUTPUT1_3
OUTPUT1_2
OUTPUT1_1
OUTPUT1

do pola:
razem

odczytując wartości inputów są one zawsze stringami. użyj parseFloat aby zmienić typ zmiennych ze stringa na liczbowe

  1. 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?

generacja a generowanie to zupełnie różne słowa ;) [nawet po angielsku]
dompdf ja lubię, fpdf polecają inni, KAŻDA biblioteka jest kłopotliwa jednak. najlepiej jak na serwerze masz zainstalowane wkhtmltopdf, wtedy najprościej na podstawie kodu HTML przekonwertować coś na pdf.

edit:

  • a po cholerę osobny tag script dla każdej z funkcji?
  • naucz się też formatowania tekstu w css, a nie jakieś "center" sprzed 15 lat.
  • w doctype masz literówkę (cudzysłów dwa razy)
  • co to za cuda </br>? chodziło Ci pewnie o samo-zamykający tag <br />?
  • id to atrybut UNIKALNY. tylko jeden element w dokumencie może mieć dany id. dopiero wczoraj ktoś miał ten sam błąd i problem ze skryptem.
0

Ad. 1: Rozumiem, że wszystko muszę zrobić w obrębie jednej sesji??

Co do Edita:
a jak zrobić to w jednym script? w każdym polu mam mieć takie same nazwy??
Z PHP nie miałem do czynienia z 6-7 lat, a wtedy to i tak bardziej HTML i niektóre rzeczy mi zostały...(</br>)

1
  1. zbyt... niezrozumiałe pytanie. dla uproszczenia załóżmy, że tak

  2. po prostu

<script>function a() {
// cos
}
function b() {
// cos
}
function c() {} 
// itd
</script>

a ogólnie te Twoje funkcje tak boleśnie łamią zasadę DRY (Google: dry programming)

</br> nigdy nie było w żadnym ze specyfikacji.

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