Strict Standards: Non-static method Advanced_Permalinks::get() should not be called statically in /blog/wp-content/plugins/advanced-permalinks/advanced-permalinks.php on line 825

Strict Standards: call_user_func_array() expects parameter 1 to be a valid callback, non-static method GoogleSitemapGeneratorLoader::Enable() should not be called statically in /blog/wp-includes/plugin.php on line 123

Warning: call_user_func_array() expects parameter 2 to be array, null given in /blog/wp-includes/plugin.php on line 123

Strict Standards: Only variables should be assigned by reference in /blog/wp-includes/post.php on line 942
Przesyłanie danych » egrafik.pl
BAZA WIEDZY
KURSY
Bazy danych w PHP
Kurs AdvancedAJAX
Kurs ASP
Kurs ASP.NET
Kurs C++
Kurs CSS
Kurs HTML
Kurs HTML drugi
Kurs JavaScript
Kurs MySQL
Kurs PHP
Kurs RSS
Kurs XHTML
Obiekty DOM
MANUALE
CSS1 - W3C
DOM - w budowie
PHP 2005
PHP 2006
Wyrażenia regularne
SHOUTBOX
STAT
Online: 31 | UU: 781

Strict Standards: Resource ID#117 used as offset, casting to integer (117) in /forum2/db/mysql4.php on line 223

Strict Standards: Resource ID#117 used as offset, casting to integer (117) in /forum2/db/mysql4.php on line 224
Przesyłanie danych
5 grudzień 2007

Strict Standards: Only variables should be assigned by reference in /blog/wp-includes/post.php on line 114

Strict Standards: Only variables should be assigned by reference in /blog/wp-includes/post.php on line 114

Strict Standards: Only variables should be assigned by reference in /blog/wp-includes/post.php on line 114

Strict Standards: Only variables should be assigned by reference in /blog/wp-includes/post.php on line 114

Strict Standards: Only variables should be assigned by reference in /blog/wp-includes/post.php on line 114

Strict Standards: Only variables should be assigned by reference in /blog/wp-includes/post.php on line 114

Strict Standards: Only variables should be assigned by reference in /blog/wp-includes/post.php on line 114

Strict Standards: Only variables should be assigned by reference in /blog/wp-includes/post.php on line 114

Deprecated: Function eregi() is deprecated in /blog/wp-content/plugins/tpbc.php on line 96

1. Wysyłanie danych do użytkownika

W tej części zostanie pokazane jak połączyć VBScript z HTML oraz jak umieścić rezultat wykonania kodu VBScript w dokumencie HTML wysłanym do przeglądarki (klienta). Posłużę się przykładem, który informuje o godzinie na serwerze oraz o ilości godzin w stosunku do dnia 01-01-2000. Przykład zawiera funkcje operujące na dacie i czasie.

Przykład:

Kod: asp

<% @LANGUAGE = VBScript %>
<%
Option Explicit
Response.Expires = 0
Dim czasTeraz, czasZaGodzine, czasRoznica
czasTeraz = Time
czasZaGodzine = DateAdd("h", 1, czasTeraz)
czasRoznica = DateDiff("h", Now, #1/1/2000#)
%>
<HTML>
<BODY>
Witaj Użytkowniku.<BR>
Godzina na serverze: <% =czasTeraz %>.<BR>
Za godzinę czas na serwerze będzie: <% =czasZaGodzine %>.<BR>
<%
If czasRoznica > 0 Then
Response.Write "Jeszcze " & czasRoznica & " godzin "
Response.Write "do roku 2000.<BR>" & VbCrLf
ElseIf czasRoznica < 0 Then
Response.Write "Już " & Abs(czasRoznica) & " godzin minęło od "
Response.Write "rozpoczęcia roku 2000.<BR>" & VbCrLf
Else
Response.Write "Rok 2000 się właśnie rozpoczął.<BR>" & VbCrLf
Response.Write "<B>SZCZĘŚLIWEGO NOWEGO ROKU !</B><BR>" & VbCrLf
End If
%>
</BODY>
</HTML>

Kiedy zostanie otwarty ten plik w przeglądarce, na stronie pojawi się napis podobny do poniższego.

Witaj Użytkowniku.
Godzina na serwerze: 10:17:34 AM.
Za godzinę czas na serwerze będzie: 11:17:34 AM.
Już 8754 godzin minęło od rozpoczęcia roku 2000.

Jeśli podejrzy się źródło, zostanie wyświetlony następujący kod:

Kod: html4strict

<HTML>
<BODY>
Witaj Użytkowniku.<BR>
Godzina na serwerze: 10:17:34 AM.<BR>
Za godzinę czas na serwerze będzie: 11:17:34 AM.<BR>
Już 8754 godzin minęło od rozpoczęcia roku 2000.<BR>
</BODY>
</HTML>

Teraz zostaną opisane poszczególne linie kodu. Pierwsza z nich to:

Kod: asp

<% @LANGUAGE = VBScript %>

Dyrektywa @LANGUAGE została użyta w celu określenia języka skryptu dla pliku ASP. Ta komenda musi znajdować się w pierwszej linii przed jakimikolwiek innymi blokami kodu. Dyrektywa @LANGUAGE informuje IIS o użytym języku w skrypcie. Jej użycie nie jest konieczne, lecz zalecane, gdyż w razie zmiany w ustawieniach IIS dotyczących użytego języka w plikach *.asp, np. z VBScript na JScript, wszystkie pliki które będą zawierały komendy VBScript, a nie będą posiadały tej dyrektywy zwrócą błędy w składni.

Poniżej przedstawiona komenda VBScript nakazuje deklarację każdej użytej zmiennej z skrypcie, używając instrukcji Dim, Private, Public oraz ReDim.

Option Explicit

Komenda powinna się znajdować tuż po linii zawierającej dyrektywę @LANGUAGE. Po jej wpisaniu należy deklarować wszystkie zmienne przed ich użyciem. Takie rozwiązanie jest bardzo pomocne, gdy w skrypcie użyje się błędnie wpisanej zmiennej ponieważ w wyniku otrzyma się błąd w postaci: Variable undefined, w momencie wywołania go spod przeglądarki. W takim przypadku będzie wiadomo, że jakaś nazwa zmiennej została wpisana niepoprawnie. Zaoszczędzi to wielu godzin szukania błędu. Jeśli się stwierdzi, że skrypt działa poprawnie można tą linię usunąć, lecz w trakcie tworzenia i modyfikowania skryptu jest ona niemal nieodzowna. Na przykład jeśli w programie użyta zostanie zmienna nazwa i w jakimś miejscu, przez zupełny przypadek, wpisana zostanie zamiast nazwa np. nawza, wtedy przy braku tej komendy program potraktuje zmienną nawza jako nową zmienną, sformatuje ją, czyli ustali jej wartość na 0 lub ciąg o zerowej długości, a na stronie nie pojawi się zamierzona informacja przechowywana w zmiennej nazwa.

W czwartej linii znajduje się komenda

Kod: asp

Response.Expires = 0

Informuje ona przeglądarkę po jakim czasie zawartość strony traci ważność. Wartość określana jest w minutach. W naszym przypadku wynosi ona zero. Jeśli jest potrzeba określenia daty upływu ważności należałoby wpisać na przykład następującą komendę:

Kod: asp

Response.ExpiresAbsolute = #January 1, 2000 00:00:00#

W przypadku obu komend muszą one znaleźć się przed całą zawartością dokumentu formatu HTML oraz komendami Response.Write (chyba, że użyto komendy Response.Buffer = TRUE, ale o tym za chwilę). W przeciwnym wypadku przeglądarka pokaże błąd w postaci: Response object error (Header error). Błąd jest związany z tym, iż komenda Response.Expires została wysłana do przeglądarki po wcześniejszym przesłaniu nagłówka HTTP.

Instrukcja

Kod: asp

Dim czasTeraz, czasZaGodzine, czasRoznica

deklaruje użyte w skrypcie zmienne. Są one od siebie oddzielone przecinkiem. Kolenjne linie:

Kod: asp

czasTeraz = Time
czasZaGodzine = DateAdd("h", 1, czasTeraz)
czasRoznica = ("h", Now, #1/1/2000#)

określają wartości zadeklarowanych zmiennych. Pierwsza linia ustala wartość zmiennej czasTeraz na wartość aktualnej godziny serwera, druga ustawia wartość zmiennej czasZaGodzine na wartość zmiennej czasTeraz zwiększonej o jedną godzinę, zaś trzecia linia zapisuje do zmiennej czasRoznica wartość równą różnicy czasu aktualnego i daty 1/1/2000 określoną w godzinach. Jeśli bieżący czas jest przed datą 1/1/2000 to wartość czasRoznica jest dodatnia, zaś jeśli jest po tej dacie - zmienna przyjmuje wartość ujemną.
Zmienne mają już określone wartości, teraz należałoby je pokazać użytkownikowi w oknie przeglądarki. Do tego służy instrukcja

Kod: asp

<% Respone.Write(tekst) %>

lub inna równoważna, użyta w przykładzie

Kod: asp

<% =tekst %>

Linia 9, tj. %>, zamyka blok kodu VBScriptu.

Linie 10-14 zawierają kod HTML z wartościami zmiennych czasTeraz, czasZaGodzine oraz czasRoznica. W liniach 16-25 została użyta instrukcja warunkowa If. Instrukcja Response.Write wysyła do przeglądarki tekst. Może on zawierać zmienne i łańcuchy. Łączenie tekstu ze zmiennymi odbywa się za pomocą znaku &. Jeśli chcemy wysłać sygnał przejścia do następnej linii należy dołączyć stałą VbCrLf, np.

Kod: asp

Response.Write "Wartość=" & wartosc & ".<BR>" & VbCrLf

Buforowanie

Bufor jest magazynem, który przechowuje dane przez pewien czas. Użycie buforowania pozwala na umieszczenie komendy Response.Expires za kodem HTML lub instrukcją Response.Write. Przykład przedstawiający buforowanie:

Kod: asp

<% @LANGUAGE = VBScript %>
<%
Option Explicit
Response.Buffer = TRUE
Response.Expires = 60
%>
<HTML>
<BODY>
Witaj Użytkowniku.<BR>
Teraz widzisz wiadomość 1.
<%
Response.Clear
Response.Expires = 0
%>
<HTML>
<BODY>
To jest szybkowygasająca wiadomość.
<%
Response.Flush
%>
</BODY>
</HTML>
<%
Response.End
%>
Ta linia nigdy nie zostanie wysłana do przeglądarki.

Kiedy zostanie uruchomiony powyższy kod na ekranie przeglądarki pojawi się napis:

To jest szybkowygasająca wiadomość.

Dodatkowo przeglądarka zostanie poinformowana, że zawartość strony straci natychmiast ważność.
Linia zawierająca:

Kod: asp

Response.Buffer = TRUE

sygnalizuje, że strona będzie buforowana na serwerze i nie zostanie wysłana odpowiedź do przeglądarki klienta dopóki wszystkie instrukcje z bieżącej strony ASP nie zostaną przesłane lub dopóki nie zostaną wywołane metody Flush lub End obiektu Response. Komenda Response.Buffer musi znajdować się przed kodem HTML lub instrukcją Response.Write.

Linia zawierająca:

Kod: asp

Response.Expires = 60

określa czas utraty ważności strony po 60 minutach. Takie rozwiązanie jest użyteczne w przypadku, gdy zawartość strony jest zmieniana co maksymalnie dwie godziny.

Linie zawierające:

Kod: html4strict

<HTML>
<BODY>
Witaj Użytkowniku.<BR>
Teraz widzisz wiadomość 1.

są przechowywane w buforze (Response.Buffer = TRUE), ale nie zostaną nigdy wysłane do przeglądarki, ponieważ bufor jest czyszczony komendą:

Kod: asp

Response.Clear

Także w kolejnej linii, tj. Response.Expires=0, ustawione jest natychmiastowy upływ ważności strony.
Następnie, specjalna, szybkowygasająca wiadomość jest przechowywana w buforze. Należy zauważyć, że musisz zaopatrzyć stronę we wszystkie znaczniki takie jak <HTML> lub <BODY> po tym, jak wyczyszczony zostanie bufor. Jeśli wymagane jest wysłanie w trybie natychmiastowym zawartości bufora do przeglądarki należy wykorzystać następującą instrukcję:

Kod: asp

Response.Flush

Kolejne linie:

Kod: html4strict

</BODY>
</HTML>

zostają wysłane do przeglądarki i zamkną dokument HTML.
Inną metodą obiektu Response jest End. Komenda:

Kod: asp

Response.End

nakazuje serwerowi WWW zakończyć przetwarzanie skryptu i wysłać bieżący rezultat. Wszystkie linie znajdujące się pod tą komendą nie zostaną wykonane (nie zostaną przesłane do przeglądarki).

Przekierowanie użytkownika do innej strony

Przekierowanie użytkownika do innej strony można zastosować w przypadku:

-autoryzacji - kiedy użytkownik nie jest zalogowany, może zostać przekierowany do strony, na której może się zalogować.
-formularza - kiedy formularz na stronie ASP jest wysłany sam sobie i następuje sprawdzenie poprawności wprowadzonych danych. Jeśli dane są niepoprawne, wtedy zostaje wysłany komunikat o błędzie wraz z oryginalną formą formularza. Jeśli formularz został wypełniony poprawnie, wtedy użytkownik zostaje przekierowany do innej strony.

W celu dokonania przekierowania należy wywołać metodę Redirect obiektu Response. Przykład:

Kod: asp

Response.Redirect "/katalog/nowastrona.asp"

lub równoważne

Kod: asp

Response.Redirect("/katalog/nowastrona.asp")

Uwaga! Żadne dane wyjściowe nie mogą znaleźć się przed metodą Redirect.

Formatowanie ustawień regionalnych

Postać daty w różnych standardach wygląda odmiennie, czy to dla użytkowników anglojęzycznych, czy niemieckich. Domyślne ustawienia regionalne serwera są odpowiedzialne za jej wygląd. Ustawienia te można zmieniać korzystając z właściwości LCID obiektu Session. Poniżej została przedstawiona tabela z wartościami dla różnych ustawień regionalnych.

Nazwa regionu LCID Data i czas
angielski (australijski) 3081 26/01/99 2:37:46
angielski (kanadyjski) 4105 26/01/99 2:37:46 AM
angielski (UK) 2057 26/01/99 02:37:46
angielski (amerykański) 1033 1/26/99 2:37:46 AM
francuski (standard) 1036 26/01/99 02:37:46
niemiecki (standard) 1031 26.01.99 02:37:46
japoński 1041 99/01/26 2:37:46
rosyjski 1049 26.01.99 2:37:46
hiszpański (współczesny) 3082  

2. Odbieranie danych od użytkownika

Zmienne środowiskowe

Czasem jest potrzeba uzyskania informacji na temat typu przeglądarki klienta, adresu IP, itp. W tym celu można posłużyć się grupą ServerVariables obiektu Request. Przykładem wykorzystania (odczytania) zmiennej środowiskowej jest poniższy zapis:

Kod: asp

sciezkaURL = Request.ServerVariables("SCRIPT_NAME")

W przykładzie do zmiennej sciezkaURL zostanie zapisana rzeczywista ścieżka wykonywanego skryptu.
Teraz zostaną omówione ważniejsze zmienne środowiskowe:

SCRIPT_NAME - rzeczywista ścieżka do wykonywanego skryptu
CONTENT_LENGTH - informacje jakie zostały wysłane od klienta (użytkownika) przy pomocy metody POST do serwera
ALL_RAW - wszystkie nagłówki HTTP wysłane od przeglądarki wywołane uruchomieniem skryptu
HTTP_HeaderName - nazwa nagłówka HTTP
HTTP_USER_AGENT - nazwa przeglądarki, jej wersja i system operacyjny
HTTP_ACCEPT_LANGUAGE - preferowane języki
HTTP_REFERER - adres strony, która wywołała bieżący skrypt (stronę)
REMOTE_ADDR - adres IP klienta
SERVER_NAME - nazwa domeny serwera (np. www.nazwa.com), wykorzystywana w przypadku wielu domen na jednym serwerze
QUERY_STRING - zawartość wypełnionego i wysłanego formularza

Formularze

a) Metoda GET

Użycie metody GET sprawi, że wszystkie dane umieszczone w wypełnionym formularzu zostaną dołączone do adresu URL i będą odczytywalne od strony serwera poprzez użycie grupy Request.QueryString. Przykładowy adres po wysłaniu formularza, którego metodą jest GET, może wyglądać następująco:

http://www.nazwa.com/plik.asp?pole1=wartosc1&pole2=wartosc2&pole3=wartosc3

Wartością zwróconą poprzez wywołanie komendy Request.QueryString("pole2") będzie wartosc2.

b) Metoda POST

W przeciwieństwie do metody GET, metoda POST nie dołącza danych z formularza do adresu URL. Dane od strony serwera są odczytywane przy pomocy zbioru Request.Form.

Przykład odczytania zawartości pola tekstowego z formularza, który używa metody POST. Fragment dokumentu HTML:

Kod: html4strict

<FORM ACTION="plik.asp" METHOD="POST">
Podaj imię: <INPUT TYPE="Text" NAME="imie"><BR>
Podaj nazwisko: <INPUT TYPE="Text" NAME="nazwisko"><BR>
<INPUT TYPE="Submit" NAME="submit" VALUE="Wyslij">
</FORM>

Odczytanie pola z imieniem odbywa się poprzez wpisanie komendy:

Kod: asp

Request.Form("imie")

zaś odczytanie pola z nazwiskiem:

Kod: asp

Request.Form("nazwisko")

Podobnie dzieje się w przypadku metody GET, z tą różnicą, że zamiast Request.Form wpisać należy Request.QueryString. Przydatne funkcje:

Trim(łańcuch) - wycina wszystkie spacje znajdujące się na początku łańcucha do momentu napotkania innego znaku
isNumeric(dana) - zwraca wartość TRUE jeśli dana jest liczbą, w przeciwnym wypadku zwraca wartość FALSE
CInt(liczba) - konwertuje liczbę na liczbę całkowitą
CLng(liczba) - konwertuje liczbę na liczbę całkowitą długą
CStr(łańcuch) - konwertuje łańcuch na łańcuch (ciąg znaków)
isDate(dana) - zwraca wartość TRUE jeśli dana jest datą, w przeciwnym wypadku zwraca wartość FALSE
Replace(łańcuch, ciąg1, ciąg2) - zamienia każdy ciag1 na ciag2 napotkany w łańcuchu


Autor: Krzysztof Stelmach
Strona pochodzi z http://www.stelmach.info/

Dodaj komentarz









Komentarze
10 odpowiedzi
6 lipiec 2017, godz. 6:50

After looking over a handful of the blog posts on your
blog, I really appreciate your way of writing a blog. I book marked it to my bookmark
website list and will be checking back in the
near future. Take a look at my website as well and let me
know how you feel.

23 kwiecień 2017, godz. 1:03

SpeedTrott est une trottinette pliable aussi confortable que performante : démarrez au quart de tour d’une easy pression sur la gachette !

20 kwiecień 2017, godz. 2:34

Je décide de faire une petite comparaison de prix chez le concurrent Darty , je cherche dans les rayons je ne trouve pas l’aspirateur mais surtout aucun produit Dyson.

21 luty 2017, godz. 5:47

James L. Rore, DDS, a center in Stockton, carries out adult as well as pediatric dental care therapies for patients from all parts of the San Joaquin County area. Provider provided include oral implants, teeth lightening, veneers, fillings, wisdom teeth removals, and origin canals.

20 luty 2017, godz. 11:45

Actually, situation law does determine statements to become incorrect under certain situations-such just as if they think your harm was intentionally self-inflicted, or perhaps you were engaged in unlawful actions (use of unlawful medicine is a normal allegation). Wrongful dying - Building Organization Negligence - Construction website fatalities comprise over 20% coming from all workplace fatalities, and 10% of most workplace injuries, producing your building market the largest cause of workers’ compensation claims. It will help the client to know that whether you are going to accept the payment through check or bank transfer, etc.

10 luty 2017, godz. 10:01

On the other hand, when pricing is predictable, the notary employs a hard and fast amount or even an agreed rate or percentage. Wrongful dying - Building Organization Negligence - Construction internet site fatalities comprise over 20% of most workplace fatalities, and 10% coming from all workplace injuries, producing your building market the biggest contributor to workers’ compensation claims. Insurance sector- The consumer fraud act also gives protection for the insurance sectors as unlawful practices are undertaken.

5 luty 2017, godz. 9:03

Positions in police officers require a staff police arrest records check. But, the large impact concerns budgetary factor with the organization, which generally shares an important segment of the pie. It would be advantageous if all parties have the identical lawyers to start with.

26 styczeń 2017, godz. 12:17

On the other hand, when costs are predictable, the notary employs a limited amount or perhaps an agreed rate or percentage. Another trick many business employers use is they automatically take for food times, but do not completely relieve their workers with their execute responsibilities. You will want to remain comfortable and check with having a car incident attorney with regards to your next steps:.

24 styczeń 2017, godz. 10:38

Going hiking, fishing and nature crafting is area of the fun and being outdoors means it is possible to appreciate and study nature - a pursuit very seldom done during normal day-to-day busy lifestyles. You should know perfectly what kind of weather does your region have because this would inform you what materials to use. By using the tips outlined in the parts one and two as soon as i’ve, you’ll be in the much better position to ensure that you just avoid getting scammed and grow the newest owner of a superior quality caravan.

15 wrzesień 2016, godz. 10:47

Simply desire to say your article is as astounding.
The clearness in your post is simply cool and i could assume you are an expert on this subject.
Well with your permission let me to grab your feed to keep up
to date with forthcoming post. Thanks a million and please carry on the rewarding work.

 
 
| | | |
Copyright © 2006-2013 egrafik.pl | Kontakt | Reklama | Projekty domów
jocker