Keletas PHP pamokų

1. Įvadas

Plačiau apie PHP galima paskaityti kituose puslapiuose, į kuriuos galite patekti iš mūsų nuorodų puslapio. Mes pabandysim paaiškinti "liaudiškai". Kas yra PHP, ir ką su šia programavimo kalba įmanoma padaryti? O gi galima padaryti beveik viską, ko jums gali prireikti internete: apsilankiusiųjų skaitliukai, svečių knygos, forumai, skelbimų lentos ir daug daug kitų programų. PHP skriptai turi išplėtimą .php Juos galima sutikti ir su kitokiais išplėtimais: .php .phtml .php3 .php4
Skripto kūnas gali būti įterptas į bet kurią html vietą. Kūnas (pats skripto turinys) yra tarp štai tokių simbolių:

<?php
// štai čia rašomas pats skriptas
?>
arba
<? /*Čia rašomas scripto tekstas*/ ?>
arba
<?php /*Čia rašomas scripto tekstas*/ ?>
arba
<script language="php">
// čia įterpiamas scriptas
</script>
arba
<%
// įterpiamas tekstas tarp ASP skliaustelių.
%>

Štai tokį fragmentą jūs galite įterpti į bet kurią savo puslapio vietą. Kaip ir kiekvieną kartą, pradedant mokytis naujos programavimo kalbos, parašykime paprasčiausią programėlę, išvedančią į ekraną užrašą "Sveikas Pasauli" (hello world):

<html><head><title>PHP Testas</title></head>
<body>
<?php echo "Sveikas Pasauli"; ?>
</body></html>

Nusikopijuokite šį teksto gabalėlį (arba suveskite jį patys) ir išsaugokite tai faile su išplėtimu .php3 (kaip sutarta jūsų serveryje). FTP pagalba nusiųskite šį failą į savo serverį, kuriame yra palaikomi PHP skriptai ir pabandykite tai peržiūrėti savo naršykle (browser).

Kaip ir kiekvienoje programavimo kalboje (bet ne visose), eilutės skiriamos kažkokiu skiriamuoju ženklu. PHP kalboje eilutės skiriamos kabliataškiu. Pvz.:

<?php
echo 'Sveikas Pasauli';
echo "TESTAS TESTAS";
echo "Labas rytas";
?>

Taip pat šioje programavimo kalboje yra ir komentarai (comments). Komentuoti savo skripto dalis galima štai taip:

<?php
echo "Tai yra testas"; // Komentaras sakinio pabaigoje
/* Komentaras per kelias eilutes,
jo pagalba galite pakomentuoti detaliau */
echo "Tai kitas testas";
echo "Paskutinis testas"; # Štai čia dar vienas komentaro tipas
?>





2. Kintamieji ir kintamųjų tipai

PHP palaiko štai tokius kintamųjų tipus, kurių jums turėtų visiškai pakakti kuriant jūsų norimą skriptą:

· Integer; // sveikojo skaičiaus tipas

· Floating-point numbers; // slankaus kablelio skaičiai, arba kitaip - realieji skaičiai

· String; // eilutės tipas

· Array; // struktūrinio kintamojo tipas - masyvas

· Object; // objekto tipas (objektiniam programavimui)

Dažniausiai kitamojo tipas yra nustatomas ne paties programuotojo, o skripto kompiliatoriaus. Jis pats priskiria kintamajam tinkama tipą. Jei jums reikia keisti kintamojo tipą programos metu, tai galite padaryti naudodamiesi settype() funkcija.

Integer (sveikojo skaičiaus tipas)

Šis tipas priskiriamas kintamąjam šiais atvejais:
$a = 1234; # dešimtainis skaitmuo
$a = -123; # neigiamas skaitmuo
$a = 0x12; # šešioliktainis skaičiaus pavidalas (lygus 18 dešimtainėje sistemoje)

Floating-point numbers (slankaus kablelio skaičiai, arba kitaip realieji skaičiai)

Štai du būdai, vaizduojantys realųjį skaičių.
$a = 1.234;
$a = 1.2e3;


String (eilutės tipas)

String tipas gali būti vaizduojamas programavimo kalbose dviem būdais:
1. tarp "viengubų" kabučių pvz.: a$='Testas';
2. tarp "dvigubų" kabučių pvz.: a$="Kitas testas";
Kaip C (C++) ir Perl'e, PHP naudoja štai tokius intarpus:
\n -nauja eilutė
\\ - back slash'as
\$ - dolerio ženklas (nes paprastai su juo į stringą įterpiamas kintamasis)
\" - kabutės (kad su jomis neužbaigtumėte savo stringo) Šiuo ženklu taip pat galima pavaizduoti ir kitus norimus simbolius.

Array (struktūrinio kintamojo tipas - masyvas)

Vienmatis masyvas
Masyvą galima įsivaizduoti kaip vieną ilgą elementų seką, kurie susiję savo kintamųjų tipais.
Pavyzdžiui, štai masyvas savaitės dienos;
["pirm", "antr", "trec", "ketvr", "penkt", "sest", "sekm"]

$savdienos[0]="pirm";
$savdienos[1]="antr";
$savdienos[2]="trec";
$savdienos[3]="ketvr";
$savdienos[4]="penkt";
$savdienos[5]="sest";
$savdienos[6]="sekm";

Štai taip įmanoma surašyti elementus į masyvą savdienos.
PASTABA: atkreipkite dėmesį į tai, kad PHP masyvas prasideda nuo indexo [0], o ne kaip pascal'yje ar kitur nuo [1].





3. Veiksmai su kintamaisiais

Kintamieji gali būti globalūs ir lokalūs. Pavyzdžiui:

$a = 1; /* globalus kintamasis */

Function Testas () {
echo $a; /* lokalaus kintamojo spausdinimas */
}
Testas ();

Kaip manote, ką atspausdins ši funkcija? O gi nieko, kadangi funkcijoje naudojamas lokalus kintamasis, o jis vis dar nėra apibrėžtas. Pakeiskime pavyzdį, kad jis veiktu:

$a = 1; /* globalus kintamasis */

Function Testas () {
Global $a;
echo $a;
}
Testas ();

Dabar funkcija atspausdins reikšmę 1.
Pirmame funkcijos variante yra sukuriamas statinis kintamasis, kuris funkcijai baigus darbą yra sunaikinamas. Statinį kintamąjį galima aprašyti ir taip:

Function Testas () {
Static $a = 0;
echo $a;
$a++;
}

Dabar vykdant funkciją yra sukuriamas statinis kintamasis, kuris yra atspausdinamas ir padidinama jo reikšmė vienetu, tačiau vos tik funkcija baigia savo darbą, šis kintamasis yra sunaikinamas.

Yra tokia sąvoka, kaip kintamojo kintamasis: Pvz.:

$sak = "Sveikas";
$$sak = "pasauli";

echo "$sak ${$sak}";

Ekrane pamatysime: Sveikas pasauli.
Pavyzdys su kintamųjų veiksmais:

function double($i) {
return $i*2;
}

$b = $a = 5; /* reikšmę penkis priskiria kintamiesiems $a ir $b */
$c = $a++; /* kintamajam $c priskirima reikšmė 6 (padidinta $a reikšmė) */
$f = double($c++); /* funkcija double gražina reikšmę du kartus didesnę (return) funkcijos reikšmė bus 6*2=12 */
$c += 10; /* $c reikšmė padidinama 10'čia */
$d=$a+$b; /* susumuoja */

Kitos operacijos su kintamaisiais:

$a+$b; //sumuoja
$a-$b; //atima
$a*$b; //daugina
$a/$b; //dalina
$a%$b; //randa modulį

Operacijos su eilutėmis (string):

$a = "Sveikas";
$b = . "pasauli"; // po šio sakinio kintamasis $b bus lygus "Sveikas pasauli"





Loginiai operatoriai:

$a and $b; //teisinga jei abu reiškiniai teisingi
$a or $b; //teisinga jei nors vienas iš reiškinių teisingas
$a xor $b; //teisinga kai kažkuris iš teiginių teisingas bet ne abu kartu
!$a; //neigimas, ne $a
$a&&$b; //AND
$a||$b; //OR

Lyginimo operatoriai:

$a==$b; //teisinga jei lygu
$a!=$b; //teisinga jei nelygu
$a<$b; //teisinga jei $a mažiau $b
$a>$b; //teisinga jei $a daugiau už $b
$a<=$b; //teisinga jei $a mažiau arba lygu $b
$a>=$b; //teisinga jei $a daugiau arba lygu $b





4. Duomenų (kintamųjų) perdavimas iš formos skriptui

Padarykime paprastą mail'o siuntimo form'1 (skriptą). Mes naudosime paprastą PHP funkciją mail(). Ką ši funkcija daro…..Štai jos aprašymas:

mail($adress, $subject, $msg, "From: Nuo draugo.....");

Iš aprašymo turėtu būti viskas aišku :) Ši funkcija išsiunčia laišką adresatui. Mums lieka susikurt kintamuosius ir įvykdyti funkciją. Pradžioje sukursime skriptą mail.php3 , o vėliau ir formą, kurios pagalba bus perduodami duomenys:

<?php

$address="[email protected]"; // čia adresas kur siunčiat
$subject="Laishkas nuo: $from"; /* kintamąjį $from skriptas ims iš formos */
mail ($address,$subject,$msg,"From: $from"); /* kintamasis $msg taip pat bus imamas iš formos */

?>

Štai ir sukūrėme skriptą. Jums lieka jį išsaugot vardu mail.php3. Dabar mums reikia sukurti formą, iš kurios bus siunčiamas laiškas. Čia ir sužinosite kaip kintamieji per formą perduodami skriptui (elementarus, lengvas dalykas) . Mums reikia sukurti formą su dviem laukais: nuo ko laiškas ir laiško turinys. Taip ir padarysime:

<FORM METHOD="POST" ACTION="mail.php3">
<I>- Įveskite duomenis:</I><BR>
<INPUT TYPE="text" size="20" NAME="from"><BR>
<TEXTAREA NAME="msg" ROWS="3" COLS="20"> </TEXTAREA> <BR>
<INPUT TYPE="Submit" NAME="Ok" VALUE="Įšsiūsti">
</FORM>

Štai ir viskas. Daugiau nieko daryti jums nebereikia. Juk taip paprasta? Kintamieji from ir msg automatiškai bus perduodami į skriptą, o funkcija mail() juos panaudos.
Kam naudotis kažkieno padarytais skriptais? Taigi visai paprasta norimą skriptą pasidaryti pačiam, pagal save. O tai atlikti galite tikrai labai nesunkiai ir per trumpą laiko tarpą.
Panašiai yra ir su adresinių duomenų perdavimu. Tarkime mums reikia, kad į administravimo skriptą ateitų duomenys username ir pasword. Tai galima padaryti kreipdamiesi į skriptą tokiu pavidalu:
http://www.tarambaram.lt/darkasnors/admin.php3?user=jonas&pswd=jonaitis Tada skripte admin jūs gaunate kintamuosius $user ir $pswd ir galite juos sutikrinti su jūsų norimais.





5. Duomenų (kintamųjų) atėjusių iš formos patikrinimas

Dažnai tenka susidurti su tokia problema kaip vandalizmu internete. Žmonės bando apeiti formų pildymus, duoda "netikrus" el. pašto adresus ir t.t. Yra priemonių nuo to apsisaugoti.

Visų pirmą reiktu riboti žinutės ilgį. Kad nenaudėliai neprirašytų šiukšlių. Tai galima padaryti taip:

<INPUT TYPE="text" size="20" NAME="from" maxlength="30"><br>
<TEXTAREA NAME="msg" ROWS="3" COLS="20" maxlength="500"> </TEXTAREA>

maxlength - leidžia įvesti vartotojui tik limituotą simbolių skaičių.

E-mail'as be abejo gali būti nesąmoningas, todėl padarysime mažą skriptuką, kuris patikrina ar e-mail'as parašytas teisingai. Dabar išnagrinėsime patį paprasčiausią atvejį, kai vartotojas neįveda e-mail'o:
Tam mes naudosim funkcija empty( ); Ji tikrina ar kintamasis nėra tuščias (ar jam yra priskirta kokia nors reikšmė)

if (empty($from))
{
echo "Jūs neįvedėte savo e-mailo";
}

Įterpkite šį gabaliuką į mail.php3 ir jūs jau turėsite apsaugą nuo tuščio from laukelio. Be abejo žmogus gali į laukelį įveti bet ką, tada bus apeita ši apsauga. Kad taip neatsitiktų, patikrinsime ar įrašytas e-mail'as turi savyje simbolį "@":
Naudosime paprastą string funkcija: int strrpos(string haystack, char needle); Ji randa ieškomo simbolio poziciją eilutėje:

function ar_yra_eta() /* Funkcija, kuri patikrina ar kintamajame $from yra "@" */
{
global $from; /* $from padarome globaliuoju kintamuoju */
$pos = strpos($from, "@"); /* į kintamąjį $pos įrašoma pozicija kurioje stovi "@" */
if (!$pos) /* Pažiūrime ar apskritai yra "@" e-meile */
{
return false; /* Gražina funkcijos reikšmę false jei "@" nėra emeile */
} else {
if ($pos!=0 && $pos!=1){ /* Apsaugome, kad nebūtu pavyzdžiui toks meilas ( [email protected] arba @centras.lt) */
return true; /* Jei viskas tvarkoj gražina funkcijos reikšmę true. */
}
}
}

Štai padarėme funkciją, kuri apsaugo nuo e-mail'o be simbolio "@".





6. Darbas su data ir laiku

Darbui su data PHP turi savo funkciją date(formatas). Tai gana patogi funkcija. Funkcija naudojama laiko ir datos gavimui įvairiais formatais.
Formatai:

· Y - metai, pvz.: 1997

* y - metai,pvz.: 97
* M - mėnuo, pvz.: Oct
* m - mėnuo, pvz.: 10
* D - savaitės diena, pvz.: Fri
* l - savaitės diena, pvz.: Friday
* d - diena, pvz.:27
* z - metų diena, pvz.: 299
* H - valandos 24 val. formatu
* h - valandos 12 val. formatu
* i - minutės, pvz.: 5
* s - sekundės, pvz.: 40

· a - am/pm

programų pavyzdžiai:
$date = date('d M Y'); // Į naršyklės ekraną išves: 22 Nov 1999
$date = date('H:i:s'); // Į naršyklės ekraną išves: 20:24:30
$date = date('d M Y, H:i:s'); // Į naršyklės ekraną išves: 22 Nov 1999, 20:29:42
Bet dažnai mums reikia ne angliškos datos puslapyje, o lietuviškos. Kaip sulietuvinti datą? Tiesiog reikia pasidaryti dvi funkcijas (šias funkcijas mes naudojame ir savo puslapyje):

function menuo_LT($menuo) {
switch ($menuo) {
case 01:
$menuo = "Sausio";
break;
case 02:
$menuo = "Vasario";
break;
case 03:
$menuo = "Kovo";
break;
case 04:
$menuo = "Balandžio";
break;
case 05:
$menuo = "Gegužės";
break;
case 06:
$menuo = "Birželio";
break;
case 07:
$menuo = "Liepos";
break;
case 08:
$menuo = "Rugpjūčio";
break;
case 09:
$menuo = "Rugsėjo";
break;
case 10:
$menuo = "Spalio";
break;
case 11:
$menuo = "Lapkričio";
break;
case 12:
$menuo = "Gruodžio";
break;
}
return $menuo;
};


function savdien_LT($savdien) {
switch ($savdien) {
case 0:
$savdien = "Sekmadienis";
break;
case 1:
$savdien = "Pirmadienis";
break;
case 2:
$savdien = "Antradienis";
break;
case 3:
$savdien = "Trečiadienis";
break;
case 4:
$savdien = "Ketvirtadienis";
break;
case 5:
$savdien = "Penktadienis";
break;
case 6;
$savdien = "Šeštadienis";
break;
}
return $savdien;
}

Abi šias funkcijas patalpinti į failą pavadinimu date_lt.php3.
Toje vietoje, kur norite įterpti datą, reikia įterpti tokį programos fragmentą:

require ("date_lt.php3"); /*Įterpia i dokumentą funkcijas iš failo */
echo "Dabartinė data: ";
echo date('Y') . ' '; // Išveda į ekraną metus
echo menuo_LT(date('m')) . ' '; /* kreipiasi i funkcija menuo_LT su reiksme menesis */
echo date('d'). ' d., ';
echo savdien_LT(date('w')) . ' '; /* w - vaizduoja savaitės diena skaičiaus formatu (0) - Sekmadienis (6) Šeštadienis ir t.t. */

arba tiesiog:

require ("date_lt.php3");
echo "Dabartinė data: ";
echo date('Y') . ' ' . menuo_LT(date('m')) . ' ' . date('d'). ' d., ' . savdien_LT(date('w'));

Atlikus tai, naršyklės ekrane pamatysite pvz.: Dabartinė data: 2000 Birželio 06 d., Antradienis





7. Veiksmai su failais

Anksčiau (tačiau ir dabar dažnai sutinkamas) vienas iš pagrindinių būdų saugoti duomenis, buvo laikyti juos paprastame faile. Duomenys buvo skaitomi iš failo ir rašomi į failą, kol neatsirado greitesnis būdas - DB (duomenų bazės). Nors duomenų bazių vartojimas vis populiarėja, failų skaitymas ir rašymas į juos yra naudingi.
Pagrindinės funkcijos skaitymui bei rašymui: fopen(), fgets(), fputs(), fclose(), feof(); Jų pilnai pakanka dirbui su failais.

fopen()

fopen - atidaro failą (skaitymui, rašymui arba papildimui). fopen(string failo_vardas, string mode); mode - kokiai "sesijai" atidaryti failą. O "sesijos" yra štai tokios:
'r' - atidaro failą tik skaitymui, pointerį pastato failo pradžioje,
'r+' - atidaro failą skaitymui ir rašymui, pointerį pastato failo pradžioje,
'w' - atidaro failą rašymui, pointerį pastato failo pradžioje, failo dydį nunulina (ištrina visus buvusius duomenis), o jei failas neegzistuoja - sukuria jį,
'w+' - atidaro failą skaitymui ir rašymui, pointerį pastato failo pradžioje, failą nunulina, o jei failo nėra jį sukuria iš naujo.
'a' - atidaro failą tik rašymui, pastato pointerį į failo pabaigą, jei failas neegzistuoja - sukuria jį,
'a+' - atidaro failą ir skaitymui ir rašymui pastato pointerį į failo pabaigą, jei failas neegzistuoja - sukuria jį.

Pavyzdžiai:
$fp = fopen("/home/kazkas/file.txt", "r");
$fp = fopen("http://www.php.lt/", "r");
$fp = fopen("ftp://user:[email protected]/", "w");

Atidarius failą, atlikus savo veiksmus, būtinai reikia jį uždaryti pasinaudojus funkcija fclose();
Pvz.:
fclose($fp);

fputs(); - įrašo duomenis į failą,
fgets(); - nuskaito nurodyto ilgio eilutę į string tipo kintamąjį,
$string = fgets($fp,255); // nuskaito visą eilutę

Paprastas pavyzdys:

$fp = fopen("/tmp/inputfile.txt", "r");
while ($bufferis = fgets($fp, 4096)) {
echo $bufferis;
}
fclose($fp);

Nuskaito visas failo eilutes ir išveda į ekraną. Bet ciklą galime pakeisti paprastesniu:

$fp = fopen("/tmp/inputfile.txt", "r");
while (!feof($fp)) {
$bufferis = fgets($fp, 4096)
echo $bufferis;
}
fclose($fp);

Dabar ciklas vykdomas tol, kol prieinama failo pabaiga.
Padarykime paprasčiausią puslapio skaitliuką, kad pamatytume kaip gi ištiesų veikia aukščiau aprašytos funkcijos:

<?php
$filename = "skaitlius.dat"; /* Priskiria kintamąjam failo pavadinimą */
$fp = @fopen($filename,"r"); // Atidaro failą skaitymui
if ($fp) { /* Jei failas atidarytas vykdomas sąlygos sakinys */
$counter=fgets($fp,10); /* Į kintamąji nuskaitoma skaitliuko reikšmė */
fclose($fp); // Uždaromas failas
} else {
$counter=0; /* Jei failo nebuvo skaitliui priskiriama nulis */
}
$counter++; /* Padidinama skaitliuko reikšmė vienetu */
echo $counter; // Išspausdinama reikšmė
$fp = fopen($filename,"w"); /* Ir toliau į failą įdedama nauja skaitliuko reikšmė padidinta vienetu. */
if ($fp) {
$counter=fputs($fp,$counter);
fclose($fp);
}
?>

Štai taip paprastai jūs galite pasidaryti savo puslapio skaitliuką. Man iškilo toks klausimas :/ O jeigu puslapis labai dažnai lankomas ir būtent tuo pačiu momentu ateina du lankytojai. Pirmasis lankytojas faile nuskaito (pvz.: skaitliuko reikšmę) o kitas įrašo. Kas tada? O gi tada kyla grėsmė prarasti skaitliuko reikšmę faile, kadangi negalima tuo pačiu metu ir skaityti ir rašyti į failą. Kad tai išpręstume, galime naudoti vieną funkciją flock(). Ši funkcija laikinai sustabdo antro vartotojo darbą ir palaukia kol pirmasis baigs darbą su failu, tada antrąjam vartotojui leidžiamas darbas su tuo failu. Patariama kuo dažniau vartoti šią funkciją dažnai lankomuose puslapiuose!!!
Pavyzdys:

$failas = @fopen('skaitlius.dat','r');
flock = ($naujas_failas,2);
$count = fgets($file, 255);
$count++;
flock = ($naujas_failas,3);
fclose($file);

Šiuo atveju jūs esate apsaugoti nuo galimo konflikto su failu





8. REMOTE_HOST ir REMOTE_ADDR

Ar jums įdomu kas lanko jūsų puslapį? Manome, kad taip! Todėl skriptas, kuris atlieka loginimą buvo, yra ir bus visada akltualus. O tai nėra labai sunku. Pasinaudojus štai tokiomis nesunkiomis funkcijomis :

Getenv("REMOTE_HOST");
ir
Getenv("REMOTE_ADDR");

Mes galime sužinoti kompiuterio hostą ir IP adresą iš kurio buvo peržiūrinėtas puslapis.

$host = getenv('REMOTE_HOST');
$ip = getenv('REMOTE_ADDR');

Štai taip sužinome nutolusio kompiuterio duomenis. Lieka tik išsaugoti visa tai faile, kuris ir bus jūsų puslapio lankytojų logas. Failą dar papildysime data:

<?php
$filename= "log.dat";
$fp = @fopen($filename,"a+");

$host = gethostbyaddr($REMOTE_ADDR);
$ip=getenv('REMOTE_ADDR');
$date=date('d M Y, H:i:s');

$str = (" Data: $date \n IP adresas: $ip \n Host\'as: $host \n --------------------------------------- \n ");
fputs($fp,$str);
fclose($fp);
?>

Faile log.dat bus išsaugota kažkas panašaus į tai:

Data: 24 May 2000, 22:59:23
IP adresas: 000.000.000.000
Host: host.vu.lt
---------------------------------------
Data: 24 May 2000, 23:03:03
IP adresas: 000.000.000.000
Host: host.ktu.lt
---------------------------------------
Data: 24 May 2000, 23:04:16
IP adresas: 000.000.00.00
Host: host.ku.lt
---------------------------------------





9. " Cookiai "

"Cookiai" yra dažnai vartojamas "daiktas". Tai mechanizmas, kuris saugo duomenis nutolusiame kompiuteryje. Tarkime, mums reikia žinoti kada žmogus paskutinį kartą buvo mūsų puslapyje. Tai įmanoma padaryti pasinaudojus "cookiais". Nustatyti "cookius" galima pasinaudojus PHP funkcija SetCookie(). "Cookiai" yra puslapio header'io ("galvos") dalis, todėl SetCookie funkcija turi būti panaudota prieš bet kokius duomenų siuntimus naršyklei (browseriui).
Pvz.:

SetCookie ("ManoCookis[ ]", "Testas", time()+3600);

Jei norite įterpti kelias reikšmes tiesiog pakartokite šia funkciją, bet jei "cookiu" vardai sutaps, bus pakeista tik reikšmė (replace) Jei norite naudoti savo pavadinimus pvz.: pask_buvo, tai įterpkite tai vietoj ManoCookis[ ].
Tarkime, mums reikia sukurti elektroninės parduotuvės vežimėlį. Jame bus saugoma informacija apie tai, kiek prekių vežamės ir visi jų pavadinimai:

$Kiek_prekiu++;
SetCookie ("Kiek", $Kiek_prekiu, time()+3600);
SetCookie ("Preke[$Kiek_prekiu]", $prekes_pav, time()+3600);

Štai taip atrodys skripto dalis.

"Cookių" gyvavimo laikotarpis nusistato taip (tarkime mums reikia, kad mūsų "cookiai" gyvuotų penkias dienas):

$k_gyvena = 5 * 24 * 3600; /* Gyvavimo laikotarpis nusistato sekundėmis; */
SetCookie ("Kiek", $Kiek_prekiu, time()+$k_gyvena);

---
[^] Atgal
[«] Skaitykla

* * Gen. time: 0.0185
* © xneox.com