home *** CD-ROM | disk | FTP | other *** search
/ Magazyn Internet 2001 November / MICD2001_11_NR1.iso / Www / WebArea / index.php@id=9 < prev    next >
Text File  |  2001-09-26  |  25KB  |  589 lines

  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4//PL">
  2. <html>
  3. <head>
  4. <title>WEB-AREA.org - serwis webmaster≤w</title>
  5. <link href="style.css" rel="stylesheet" type="text/css">
  6. <LINK REL="SHORTCUT ICON" HREF="favicon.ico"> 
  7. <meta http-equiv="Creation-date" content="28.08.2001">
  8. <meta http-equiv="Reply-to" content="web-area@web-area.org">
  9. <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-2">
  10. <meta name="author" content="Jakub & Jan Filipowscy">
  11. <meta name="description" content="Serwis webmasterow. Znajdziesz tu kilka kursow popularnych internetowych jezykow programowania takich jak: HTML, CSS, WML, SGML, XML, PHP, Perl i Java. Zamiescilismy tu rowniez wiele skryptow JavaScript, PHP i CGI. Przeczytac mozna kilka artykulow i sciagnac kilka szablonow. Dla poczatkujacych jest dzial BeginnerZone. ">
  12. <meta http-equiv="keywords" content="WEB-AREA, web-area, web area, web, area, WEB-AREA.org, web-area.org, webara.org,strefa webmastera, strefa, webmastera, webmaster, WEBMASTER, Webmaster, tworzenie stron www, www, strona www, internet, world wide web, design, designerswo, designer, programowanie, jΩzyki, jΩzyk programowania, php, cgi, html, java, javascript, sgml, wml, PHP, CGI, HTML, Java, JavaScript, SGML, WML, wap, standarty, skrypty php, skrypty cgi, applety java, aplety, aplety java, aplety javy, applety javy, javascripty, JavaScripty, skrypty javy, publikowanie witryny, witryna, tworzenie witryn, tworzenie sklep≤w internetowych, edytory html, tekstowe edytory html, projekt syf, szablony, Szablony, free, darmowe, zadarmo, subskrypcja, lista mailingowa, mailing list, lista subskrypcyjna, bannery, formularze, liczniki, ksiΩgi go╢ci, linki, fora, pliki i operacje na nich, statystyki, wyszukiwarki, rankingi, darmowe skrypty, Jakub Filipowski, Jan Filipowski, katalog, Katalog stron zwi▒zanych z tematyk▒ webmasterstwa, webmasterswo, magazyn www, style, CSS, XML, ASP, jΩzyki skryptowe, generatory, anarchizm">
  13. </head>
  14. <body>
  15.  
  16.  
  17. <div align="left">
  18. <table border="0" cellpadding="0" cellspacing="0" width="770">
  19. <tr>
  20. <td width="770" valign="top" colspan="3">
  21.  
  22.     <table border="0" cellpadding="0" cellspacing="0" width="770">
  23.     <tr>
  24.     <td width="166" valign="top"><a href="index.php"><img src="img/logo.gif" border="0" width="166" height="70" alt="WEB-AREA.org - serwis webmaster≤w"></a></td>
  25.     <td width="604" height="70" background="img/gora.gif" align="right"><iframe src="banner.php" MARGINWIDTH="0" MARGINHEIGHT="0" HSPACE="0" VSPACE="0" FRAMEBORDER="0" SCROLLING="NO" WIDTH="468" HEIGHT="60">
  26. </iframe></td>
  27.     </tr></table>
  28.  
  29. </td>
  30. </tr><tr>
  31. <td width="770" valign="top" colspan="3">
  32.     <table border="0" cellpadding="1" cellspacing="0" width="770">
  33.         <tr><form method="post" action="szukaj.php">
  34.         <td width="260">    <input type="text" name="zapytanie" size="15"> <input type="submit" value="SZUKAJ"> <span class="m"><a href="index.php@url=redakcja_2Fszukaj">Jak szukaµ?</a></span></td></form>
  35.         <td width="510">
  36.         
  37.         <p align="center">
  38.         <a href="index.php@id=206" class="gora">Konkurs</a>   
  39.         <a href="subskrypcja/nowa.php" class="gora">Za│≤┐ subskrypcjΩ</a>    
  40.         <a href="index.php@id=128" class="gora">Katalog</a>    
  41.         <a href="forum.php" class="gora">Forum</a>    
  42.         <a href="index.php@id=15" class="gora">BeginnerZone</a>
  43.         
  44.         </td>
  45.     </tr></table>
  46. </td>
  47. </tr>
  48. <tr>
  49. <td width="142" valign="top">
  50.     
  51.     <br>
  52.     <table border="0" cellpadding="0" cellspacing="0" width="142">
  53.     <tr>
  54.     <td width="142" valign="top"><img src="img/menu.gif" border="0" width="142" height="13" alt="MENU"></td>
  55.     </tr>
  56.     <tr>
  57.     <td width="142" valign="top" background="img/okno1.gif">
  58.     <img src="img/s.gif" width="9" height="8"><b class="menu1">KURSY</b><br>
  59.       - <a href="index.php@id=50" class="menu">HTML</a><br>
  60.       - <a href="index.php@id=40" class="menu">CSS</a><br>
  61.       - <a href="index.php@id=62" class="menu">Java</a><br>
  62.       - <a href="index.php@id=145" class="menu">PHP</a><br>
  63.       - <a href="index.php@id=39" class="menu">CGI</a><br>
  64.       - <a href="index.php@id=5" class="menu">ASP</a><br>
  65.       - <a href="index.php@id=182" class="menu">WML</a><br>
  66.       - <a href="index.php@id=190" class="menu">XML</a><br>
  67.       - <a href="index.php@id=159" class="menu">SGML</a><br>
  68.  
  69.     <img src="img/s.gif" width="9" height="8"><b class="menu1">SKRYPTY</b><br>
  70.       - <a href="index.php@id=78" class="menu">JavaScript</a><br>
  71.       - <a href="index.php@id=135" class="menu">PHP</a><br>
  72.       - <a href="index.php@id=30" class="menu">CGI</a><br>
  73.  
  74.     <img src="img/s.gif" width="9" height="8"><b class="menu1">INNE</b><br>
  75.       - <a href="index.php@id=59" class="menu">Szablony</a><br>
  76.       - <a href="forum.php" class="menu">Forum</a><br>
  77.       - <a href="index.php@id=61" class="menu">Webmasterska lista</a><br>
  78.       - <a href="index.php@id=128" class="menu">Katalog</a><br>
  79.       - <a href="index.php@id=15" class="menu">BeginnerZone</a><br>
  80.       - <a href="index.php@id=206" class="menu">Konkurs</a><br>
  81.     
  82.     <img src="img/s.gif" width="9" height="8"><b class="menu1">SUBSKRYPCJA</b><br>
  83.       - <a href="subskrypcja/nowa.php" class="menu">Za│≤┐</a><br>
  84.       - <a href="subskrypcja/admin.php" class="menu">Administracja</a><br>
  85.  
  86.     <img src="img/s.gif" width="9" height="8"><b class="menu1">REDAKCJA</b><br>
  87.       - <a href="index.php@id=156" class="menu">Sk│ad</a><br>
  88.       - <a href="index.php@id=157" class="menu">Wsp≤│praca</a><br>
  89.       - <a href="index.php@id=158" class="menu">Reklama</a></td>
  90.     </tr>
  91.     <tr>
  92.     <td width="142" valign="top"><img src="img/okno2.gif" border="0" width="142" height="10"></td>
  93.     </tr></table>
  94.  
  95. </td>
  96. <td width="486" valign="top"><br>
  97.     <div align="center">
  98.     <table border="0" cellpadding="0" cellspacing="0" width="460">
  99.     <tr>
  100.     <td width="460" valign="top"><table border="0" cellpadding="0" cellspacing="0" width="460">
  101.         <tr>
  102.         <td width="460" valign="top"><img src="img/zobacz.gif" border="0" width="460" height="13" alt="ZOBACZ JESZCZE"></td>
  103.         </tr>
  104.         <tr>
  105.         <td width="460" valign="top" background="img/okno11.gif"><div align="center">
  106.                 <table border="0" cellpadding="0" cellspacing="0" width="450"><tr><td width="450"><a class="menu" href="index.php@id=6">Praca w ASP</a>
  107.  <a class="menu" href="index.php@id=7">Warunki i pΩtle</a>
  108.  <a class="menu" href="index.php@id=8">Wysy│anie i odbieranie danych od u┐ytkownika</a>
  109.  <a class="menu" href="index.php@id=10">Wysy│anie i odbieranie poczty e-mail</a>
  110.  <a class="menu" href="index.php@id=11">Bazy danych</a>
  111.  <a class="menu" href="index.php@id=12">Pliki</a>
  112.  <a class="menu" href="index.php@id=13">U┐ycie XML</a>
  113.  <a class="menu" href="index.php@id=14">Typy zmiennych</a> </td></tr></table></div></td>
  114.         </tr>
  115.         <tr>
  116.         <td width="460" valign="top"><img src="img/okno21.gif" border="0" width="460" height="10"></td>
  117.         </tr></table><span class="nag">Kurs ASP</span>
  118. <h2>Obiekt Session i Cookies.</h2>
  119. <h3>4.1 Obiekt Session</h3>
  120. <p align="justify">Ka┐de odwiedzenie strony przez u┐ytkownika (klienta) jest reprezentowane
  121. przez obiekt <code>Session</code>, kt≤ry jest stworzony w momencie wej╢cia
  122. osoby na stronΩ. Obiekt <code>Session</code> jest osobistym schowkiem ka┐dego
  123. u┐ytkownika. W nim mo┐na zachowaµ informacje, kt≤re nastΩpnie mo┐na
  124. odczytaµ oraz modyfikowaµ. W momencie, gdy u┐ytkownik (przegl▒darka) po raz
  125. pierwszy za┐▒da pliku <code>ASP</code> znajduj▒cego siΩ w aplikacji Webowej,
  126. <code>ASP</code> wygeneruje unikalny numer przechowywany w <code>SessionID</code>.
  127. Na pocz▒tku nowej sesji, serwer przechowuje <code>SessionID</code> w przegl▒darce
  128. u┐ytkownika jako <code>"cookie"</code> sesji, kt≤re pozostaj▒ w
  129. pamiΩci przegl▒darki do momentu up│ywu czasu sesji lub zamkniΩcia przegl▒darki.<br>
  130. <code>Uwaga!</code> Mo┐na przechowywaµ warto╢ci w obiekcie <code>Session</code>
  131. wtedy, gdy przegl▒darka u┐ytkownika akceptuje "cookies" i u┐ytkownik
  132. nie wy│▒czy│ opcji pozwalaj▒cej przegl▒darce na przechowywanie plik≤w
  133. "cookies". Poni┐szy przyk│ad demonstruje jak mo┐na przechowaµ │a±cuch
  134. i liczbΩ w obiekcie <code>Session</code>:</p>
  135. <table border="0">
  136.   <tbody>
  137.     <tr>
  138.       <td><%<br>
  139.         Session("Imie") = "Jan"<br>
  140.         Session("Wiek") = 28<br>
  141.         %></td>
  142.     </tr>
  143.   </tbody>
  144. </table>
  145. <p align="justify">Obiekt <code>Session</code> posiada cztery w│a╢ciwo╢ci i jedn▒ metodΩ:</p>
  146. <p align="justify"><code>W│a╢ciwo╢ci</code></p>
  147. <table border="0">
  148.   <tbody>
  149.     <tr>
  150.       <td vAlign="top">SessionID</td>
  151.       <td vAlign="top">-</td>
  152.       <td>zwraca warto╢µ identyfikatora sesji, kt≤ry jest
  153.         unikalny do momentu restartu serwera WWW; nale┐y pamiΩtaµ o tym, aby
  154.         nie u┐ywaµ tej w│a╢ciwo╢ci do stworzenia unikalnego klucza w bazie
  155.         danych</td>
  156.     </tr>
  157.     <tr>
  158.       <td vAlign="top">TimeOut</td>
  159.       <td vAlign="top">-</td>
  160.       <td>okre╢la maksymalny czas nieaktywno╢ci u┐ytkownika po
  161.         jakim sesja zostaje przerwana; warto╢µ jest okre╢lana w minutach</td>
  162.     </tr>
  163.     <tr>
  164.       <td vAlign="top">LCID</td>
  165.       <td vAlign="top">-</td>
  166.       <td>identyfikator lokalny, kt≤ry mo┐e byµ czytany i
  167.         ustawiany podczas sesji; wiΩcej informacji znajdziesz <a class="LINK" href="#sessionID">tutaj</a></td>
  168.     </tr>
  169.     <tr>
  170.       <td vAlign="top">CodePage</td>
  171.       <td vAlign="top">-</td>
  172.       <td>numer strony kodowej; serwer tworzy dokument w celu wys│ania
  173.         go do klienta (przegl▒darki), z drugiej strony przegl▒darka konwertuje
  174.         bajty z otrzymanego dokumentu i wy╢wietla je na ekranie; poni┐ej
  175.         zostan▒ przedstawione niekt≤re strony kodowe dla wybranych jΩzyk≤w:<br>
  176.         <br>
  177.         <table border="1" cellSpacing="0">
  178.           <tbody>
  179.             <tr>
  180.               <th>strona kodowa</th>
  181.               <th>kodowanie znak≤w</th>
  182.               <th>nazwa</th>
  183.             </tr>
  184.             <tr>
  185.               <td class="CENTER">1252</td>
  186.               <td class="CENTER">iso-8859-1</td>
  187.               <td>Western</td>
  188.             </tr>
  189.             <tr>
  190.               <td class="CENTER">28592</td>
  191.               <td class="CENTER">iso-8859-2</td>
  192.               <td>Central European (ISO)</td>
  193.             </tr>
  194.             <tr>
  195.               <td class="CENTER">1250</td>
  196.               <td class="CENTER">Windows-1250</td>
  197.               <td>Central European (Windows)</td>
  198.             </tr>
  199.             <tr>
  200.               <td class="CENTER">28597</td>
  201.               <td class="CENTER">iso-8859-7</td>
  202.               <td>Greek (ISO)</td>
  203.             </tr>
  204.             <tr>
  205.               <td class="CENTER">1253</td>
  206.               <td class="CENTER">Windows-1253</td>
  207.               <td>Greek (Windows)</td>
  208.             </tr>
  209.             <tr>
  210.               <td class="CENTER">1256</td>
  211.               <td class="CENTER">Windows-1256</td>
  212.               <td>Arabic (Windows)</td>
  213.             </tr>
  214.             <tr>
  215.               <td class="CENTER">936</td>
  216.               <td class="CENTER">gb2312</td>
  217.               <td>Simplified Chinese (GB2312)</td>
  218.             </tr>
  219.           </tbody>
  220.         </table>
  221.       </td>
  222.     </tr>
  223.   </tbody>
  224. </table>
  225. <p align="justify"><code>Metoda</code></p>
  226. <table border="0">
  227.   <tbody>
  228.     <tr>
  229.       <td vAlign="top">Abandon</td>
  230.       <td vAlign="top">-</td>
  231.       <td>wywo│anie tej metody spowoduje usuniΩcie wszystkich
  232.         zasob≤w obiektu Session</td>
  233.     </tr>
  234.   </tbody>
  235. </table>
  236. <p align="justify">Wy│▒czanie wysy│ania "cookies" sesji od strony serwera WWW mo┐na
  237. zrealizowaµ za pomoc▒ komendy:</p>
  238. <table border="0">
  239.   <tbody>
  240.     <tr>
  241.       <td><% @ ENABLESESSIONSTATE = FALSE %></td>
  242.     </tr>
  243.   </tbody>
  244. </table>
  245. <p align="justify">lub</p>
  246. <table border="0">
  247.   <tbody>
  248.     <tr>
  249.       <td><% @ ENABLESESSIONSTATE = FALSE   
  250.         LANGUAGE = VBScript %></td>
  251.     </tr>
  252.   </tbody>
  253. </table>
  254. <p align="justify">W przypadku du┐ego obci▒┐enia serwera jest wskazane, aby w plikach, kt≤re
  255. nie u┐ywaj▒ obiektu <code>Session</code> znalaz│a siΩ jedna z dw≤ch powy┐szych
  256. linii.</p>
  257. <p align="justify"><code>Plik global.asa</code></p>
  258. <p align="justify">W pliku <code>global.asa</code> mo┐na ustawiµ warto╢ci pocz▒tkowe niekt≤rych
  259. zmiennych, np. obiektu <code>Session</code>. Struktura pliku jest nastΩpuj▒ca:</p>
  260. <table border="0">
  261.   <tbody>
  262.     <tr>
  263.       <td colSpan="2"><SCRIPT  LANGUAGE=VBScript RUNAT=Server><br>
  264.         Sub Session_OnStart</td>
  265.     </tr>
  266.     <tr>
  267.       <td></td>
  268.       <td>' instrukcje wykonywane w momencie otwarcia sesji</td>
  269.     </tr>
  270.     <tr>
  271.       <td colSpan="2">End Sub<br>
  272.         Sub Session_OnEnd</td>
  273.     </tr>
  274.     <tr>
  275.       <td></td>
  276.       <td>' instrukcje wykonywane w momencie zako±czenia (zamkniΩcia)
  277.         sesji</td>
  278.     </tr>
  279.     <tr>
  280.       <td colSpan="2">End Sub<br>
  281.         Sub Application_OnStart</td>
  282.     </tr>
  283.     <tr>
  284.       <td></td>
  285.       <td>' instrukcje wykonywane w momencie otwarcia aplikacji
  286.         (strony WWW)</td>
  287.     </tr>
  288.     <tr>
  289.       <td colSpan="2">End Sub<br>
  290.         Sub Application_OnEnd</td>
  291.     </tr>
  292.     <tr>
  293.       <td></td>
  294.       <td>' instrukcje wykonywane w momencie zako±czenia (zamkniΩcia)
  295.         aplikacji (strony WWW)</td>
  296.     </tr>
  297.     <tr>
  298.       <td colSpan="2">End Sub<br>
  299.         </SCRIPT></td>
  300.     </tr>
  301.   </tbody>
  302. </table>
  303. <h3>4.2 Obiekt Cookies</h3>
  304. <p align="justify">"Cookie" s▒ czΩ╢ci▒ informacji kt≤ra jest wymieniana miΩdzy
  305. klientem i serwerem. WystΩpuj▒ dwa rodzaje "cookie":<br>
  306. - "cookie" sesji;<br>
  307. - sta│e "cookie".<br>
  308. Pierwsze z nich dzia│aj▒ tylko w czasie, gdy okno przegl▒darki jest otwarte i
  309. przechowywane s▒ w obiekcie <code>Session</code>. Drugie za╢ s▒ przechowywane
  310. na dysku twardym klienta (u┐ytkownika) i s▒ aktywne do czasu up│ywu ich daty
  311. wa┐no╢ci. Wiele os≤b ma pewne obawy co do u┐ywania sta│ych "cookie",
  312. poniewa┐ s▒ one przechowywane na twardym dysku w postaci niezaszyfrowanej.
  313. Pliki "cookie" s▒ umieszczane w przypadku przegl▒darki Internet
  314. Explorer w katalogu <Katalog Windows>\Profiles\<Nazwa u┐ytkownika>\Cookies.
  315. "Cookie" s▒ pojedynczymi plikami z rozszerzeniem <code>.txt</code>. W
  316. swojej nazwie zawieraj▒ nazwΩ identyfikuj▒c▒ u┐ytkownika oraz nazwΩ
  317. identyfikuj▒c▒ stronΩ WWW. "Cookie" s▒ tworzone na serwerze i wysy│ane
  318. do klienta (przegl▒darki) razem z ┐▒dan▒ stron▒ WWW. Dlatego, jak mo┐na siΩ
  319. domy╢leµ, "cookie" nale┐▒ do obiektu <code>Response</code>. Poni┐ej
  320. znajduje siΩ przyk│ad umieszczenia w "cookie" o nazwie <code>Imie</code>
  321. warto╢µ <code>"Mariusz"</code>:</p>
  322. <table border="0">
  323.   <tbody>
  324.     <tr>
  325.       <td>Response.Cookies("Imie") = "Mariusz"</td>
  326.     </tr>
  327.   </tbody>
  328. </table>
  329. <p align="justify">Cookies jest grup▒ obiektu <code>Response</code>. U┐ywaj▒c powy┐szej sk│adni
  330. mo┐na stworzyµ wiele "cookie", kt≤rych warto╢ci mo┐na dowolnie
  331. zmieniaµ. Dane przechowywane w sta│ych "cookie" nie wygasaj▒ po
  332. zamkniΩciu przegl▒darki. Posiadaj▒ one jednak datΩ up│ywu wa┐no╢ci. Przyk│ad,
  333. kt≤ry poka┐e spos≤b okre╢lenia daty up│ywu wa┐no╢ci "cookie" po
  334. up│ywie 1 miesi▒ca:</p>
  335. <table border="0">
  336.   <tbody>
  337.     <tr>
  338.       <td><%<br>
  339.         Response.Cookies("Produkt") = "Telewizor"<br>
  340.         Response.Cookies("Produkt").Expires = DateAdd("m",
  341.         1, Now())<br>
  342.         %></td>
  343.     </tr>
  344.   </tbody>
  345. </table>
  346. <p align="justify">Mo┐na przechowywaµ wiΩcej ni┐ jedn▒ warto╢µ w "cookie".
  347. Zrobiµ to mo┐na w nastΩpuj▒cy spos≤b:</p>
  348. <table border="0" cellSpacing="5">
  349.   <tbody>
  350.     <tr>
  351.       <td>1:<br>
  352.         2:<br>
  353.         2:<br>
  354.         4:<br>
  355.         5:<br>
  356.         6:<br>
  357.         7:</td>
  358.       <td><%<br>
  359.         Response.Cookies("Produkt")("Nazwa") =
  360.         "Telewizor"<br>
  361.         Response.Cookies("Produkt")("DataZamowienia") =
  362.         CStr(Now())<br>
  363.         Response.Cookies("Produkt").Domain = "sklep.com"<br>
  364.         Response.Cookies("Produkt").Path = "/rtv/"<br>
  365.         Response.Cookies("Produkt").Secure = "False"<br>
  366.         %></td>
  367.     </tr>
  368.   </tbody>
  369. </table>
  370. <p align="justify">Linia 2 i 3 przypisuj▒ warto╢ci do "cookie" o nazwie <code>Produkt</code>.
  371. Zostaj▒ zachowane dwie warto╢ci, pierwsza to nazwa produktu, a druga to data
  372. dokonania wyboru (zam≤wienia). Linia 4 okre╢la nazwΩ domeny dla kt≤rej
  373. "cookie" bΩdzie aktywny. Warto╢µ domy╢lna <code>Domain</code> jest
  374. domena serwera WWW. Innym tak┐e wa┐nym ograniczeniem "cookie" jest
  375. jego ╢cie┐ka (<code>path</code>), linia 6. ªcie┐ka s│u┐y podobnie jak <code>Domain</code>
  376. do ograniczenia aktywno╢ci "cookie" do konkretnej ╢cie┐ki (katalogu
  377. i podkatalog≤w) na serwerze WWW. Wielko╢µ liter w nazwie ╢cie┐ki odgrywa wa┐n▒
  378. rolΩ, gdy┐ ╢cie┐ka "/Katalog/" nie jest interpretowana tak samo
  379. jak "/katalog/", tzn. ┐e <code>wielkie i ma│e litery s▒ rozr≤┐niane</code>.
  380. Ostatnia linia dotyczy szyfrowania "cookie". Domy╢lnie "cookie"
  381. nie s▒ bezpieczne, wiΩc nale┐y pamiΩtaµ, aby nie wysy│aµ ani nie
  382. przechowywaµ "wra┐liwych" informacji na temat klienta (u┐ytkownika).</p>
  383. <p align="justify">Odczytanie warto╢ci "cookie" (np. z powy┐szego przyk│adu)
  384. realizuje siΩ w nastΩpuj▒cy spos≤b:</p>
  385. <table border="0">
  386.   <tbody>
  387.     <tr>
  388.       <td><% = Request.Cookies("Produkt")("Nazwa")
  389.         %></td>
  390.     </tr>
  391.   </tbody>
  392. </table>
  393. <p align="justify">Komenda odczytuje warto╢µ i wysy│a j▒ do klienta (przegl▒darki). W powy┐szym
  394. przyk│adzie zosta│a wy╢wietlona tylko jedna warto╢µ. Jak mo┐na wy╢wietliµ
  395. pozosta│e? Ot≤┐ rozwi▒zaniem jest w│a╢ciwo╢µ <code>HasKeys</code> grupy <code>Cookies</code>.
  396. Poni┐ej zosta│ przedstawiony bardziej rozbudowany przyk│ad wykorzystuj▒cy t▒
  397. w│a╢nie w│a╢ciwo╢µ:</p>
  398. <table border="0">
  399.   <tbody>
  400.     <tr>
  401.       <td colSpan="4"><% <code>@LANGUAGE = VBScript</code> %><br>
  402.         <% <code>Option Explicit</code> %><br>
  403.         <HTML><br>
  404.         <BODY><br>
  405.         <%<br>
  406.         <code>Dim cookie, klucz<br>
  407.         For Each cookie In Request.Cookies</code></td>
  408.     </tr>
  409.     <tr>
  410.       <td></td>
  411.       <td colSpan="3"><code>If Not Request.Cookies(cookies).HasKeys
  412.         Then</code></td>
  413.     </tr>
  414.     <tr>
  415.       <td></td>
  416.       <td></td>
  417.       <td colSpan="2"><code>Response.Write cookie & " =
  418.         " & Request.Cookies(cookie) & "<BR>"</code></td>
  419.     </tr>
  420.     <tr>
  421.       <td></td>
  422.       <td colSpan="3"><code>Else</code></td>
  423.     </tr>
  424.     <tr>
  425.       <td></td>
  426.       <td></td>
  427.       <td colSpan="2"><code>For Each klucz In
  428.         Request.Cookies(cookie)</code></td>
  429.     </tr>
  430.     <tr>
  431.       <td></td>
  432.       <td></td>
  433.       <td></td>
  434.       <td><code>Response.Write cookie<br>
  435.         Response.Write "(" & klucz & ")"<br>
  436.         Response.Write " = "<br>
  437.         Response.Write Request.Cookies(cookie)(klucz)<br>
  438.         Response.Write "<BR>" & VbCrLf</code></td>
  439.     </tr>
  440.     <tr>
  441.       <td></td>
  442.       <td></td>
  443.       <td colSpan="2"><code>Next</code></td>
  444.     </tr>
  445.     <tr>
  446.       <td></td>
  447.       <td colSpan="3"><code>End If</code></td>
  448.     </tr>
  449.     <tr>
  450.       <td colSpan="4"><code>Next</code><br>
  451.         %><br>
  452.         </BODY><br>
  453.         </HTML></td>
  454.     </tr>
  455.   </tbody>
  456. </table>
  457. <p align="justify">Wynikiem wykonania powy┐szego skryptu bΩdzie pojawienie siΩ tekstu na
  458. stronie:</p>
  459. <table border="0">
  460.   <tbody>
  461.     <tr>
  462.       <td>Produkt(NAZWA) = Telewizor<br>
  463.         Produkt(DATAZAMOWIENA) = 1/6/00 10:43:12 PM</td>
  464.     </tr>
  465.   </tbody>
  466. </table>
  467. <p align="justify">Jedynym nowym elementem w powy┐szym przyk│adzie jest linia:</p>
  468. <table border="0">
  469.   <tbody>
  470.     <tr>
  471.       <td>If Not Request.Cookies(cookies).HasKeys Then</td>
  472.     </tr>
  473.   </tbody>
  474. </table>
  475. <p align="justify">Sprawdza ona czy "cookie" o nazwie <code>cookies</code> posiada wiΩksz▒
  476. ilo╢µ warto╢ci ni┐ 1. Operator <code>Not</code> w instrukcji <code>If</code>
  477. powoduje zapytanie o warto╢µ <code>FALSE</code> wyra┐enia <code>Request.Cookies(cookies).HasKeys</code>.</p>
  478.  
  479. <hr size="1" color="#FFFFFF"><span class="stopa">
  480. <b>Autor:</b> <a href="mailto:stelmi@friko2.onet.pl" class="stopka">Krzysztof Stelmach</a><br>
  481. <b>Artyku│ ze strony:</b> <a href="http://www.asp.z.pl/" class="stopka" target="_blank">http://www.asp.z.pl/</a>
  482. </span><br></td>
  483.     </tr></table>
  484.     </div>
  485. </td>
  486. <td width="142" valign="top">
  487.  
  488.         <br>
  489.         <table border="0" cellpadding="0" cellspacing="0" width="142">
  490.         <tr>
  491.         <td width="142" valign="top"><img src="img/login.gif" border="0" width="142" height="13" alt="LOGIN"></td>
  492.         </tr>
  493.         <tr>
  494.         <td width="142" valign="top" background="img/okno1.gif">
  495.         
  496.             
  497.             <div align="center">
  498.             <table cellpadding="0" cellspacing="2" border="0" width="98%">
  499.             <form method="post" action="subskrypcja/login.php">
  500.             <tr><td width="30%"><span class="t">Login:</span></td><td width="68%"><input type="text" name="login" size="15" class="login"></td></tr>
  501.             <tr><td width="30%"><span class="t">Has│o:</span></td><td width="68%"><input type="password" name="haslo" size="15" class="login"></td></tr>
  502.             
  503.             <tr><td colspan="2"><center><input type="image" src="img/ok.gif"></td></tr>
  504.             </form></table></div>
  505.         
  506.         </td>
  507.         </tr>
  508.         <tr>
  509.         <td width="142" valign="top"><img src="img/okno2.gif" border="0" width="142" height="10"></td>
  510.         </tr></table>
  511.  
  512.         <br>
  513.         <table border="0" cellpadding="0" cellspacing="0" width="142">
  514.         <tr>
  515.         <td width="142" valign="top"><img src="img/art.gif" border="0" width="142" height="13" alt="ARTYKULY"></td>
  516.         </tr>
  517.         <tr>
  518.         <td width="142" valign="top" background="img/okno1.gif">
  519.         
  520.         <span class="m">
  521.         
  522.          -<a href="index.php@id=1" class="menu">"Edytory HTML'a"</a><br>
  523.          -<a href="index.php@id=2" class="menu">"Publikowanie witryny"</a><br>
  524.          -<a href="index.php@id=3" class="menu">"PHP w domu"</a><br>
  525.          -<a href="index.php@id=4" class="menu">"Przeszukiwanie stron"</a><br>
  526.          -<a href="index.php@id=204" class="menu">"Wprowadzenie do Javy"</a><br>
  527.          -<a href="index.php@id=210" class="menu">"Grafika w PHP"</a>
  528.         </span>
  529.         
  530.         </td>
  531.         </tr>
  532.         <tr>
  533.         <td width="142" valign="top"><img src="img/okno2.gif" border="0" width="142" height="10"></td>
  534.         </tr></table>
  535.         
  536.         <br>
  537.         <table border="0" cellpadding="0" cellspacing="0" width="142">
  538.         <tr>
  539.         <td width="142" valign="top"><img src="img/stat.gif" border="0" width="142" height="13" alt="ARTYKULY"></td>
  540.         </tr>
  541.         <tr>
  542.         <td width="142" valign="top" background="img/okno1.gif"><div align="left"><table border="0" cellpadding="0" cellspacing="0" width="138"><tr><td width="138"><ol><li><a href="index.php@id=135" class="stat">PHP - przyk│adowe skrypty</a> <span class="maleczarne">(1491)</span><br><li><a href="index.php@id=59" class="stat">Szablony 1</a> <span class="maleczarne">(833)</span><br><li><a href="index.php@id=145" class="stat">Kurs PHP</a> <span class="maleczarne">(817)</span><br><br><span class="maleczarne">ú▒cznie: 24124</span>        </ol>
  543.         <center><a href="http://stat.webmedia.pl/cgi-bin/anal?webarea" target="_blank">
  544. <img border=0 src="http://stat.webmedia.pl/cgi-bin/stat?webarea&stat4ur" alt="stat4u" width="40" height="10"></a></center>
  545.         </td></tr></table></div>
  546.         </td>
  547.         </tr>
  548.         <tr>
  549.         <td width="142" valign="top"><img src="img/okno2.gif" border="0" width="142" height="10"></td>
  550.         </tr></table>
  551.         
  552.         <br>
  553.         <table border="0" cellpadding="0" cellspacing="0" width="142">
  554.         <tr>
  555.         <td width="142" valign="top"><img src="img/sponsor.gif" border="0" width="142" height="13" alt="SPONSOR"></td>
  556.         </tr>
  557.         <tr>
  558.         <td width="142" valign="top" background="img/okno1.gif"><br>
  559.         <center><EMBED src="img/beep2.swf" quality=high bgcolor=#000000 WIDTH=120 HEIGHT=30></center>                            
  560.         </td>
  561.         </tr>
  562.         <tr>
  563.         <td width="142" valign="top"><img src="img/okno2.gif" border="0" width="142" height="10"></td>
  564.         </tr></table>
  565.  
  566.         <br>
  567.             <div align="center"><table border="0" cellpadding="2" cellspacing="0" width="120">
  568.             <tr>
  569.             <td width="120"><a href="button.php@id=1" target="_blank"><img src="img/cgi.gif" border="0"></a></td>
  570.             </tr>
  571.             <tr>
  572.             <td width="120"><a href="button.php@id=2" target="_blank"><img src="img/ygreg.gif" border="0"></a></td>
  573.             </tr>
  574.             <tr>
  575.             <td width="120"></td>
  576.             </tr>
  577.             </table>
  578.             </div>
  579.         
  580.  
  581. </td>
  582. </tr>
  583. <tr>
  584. <td width="770" valign="top" colspan="3" align="right"><br><br><span class="m">All rights reserved by <a href="mailto:web-area@web-area.org">J&J Filipowscy Design & Code</a></td>
  585. </tr></table></div>
  586.  
  587.  
  588. </body>
  589. </html>