Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
BulgaraCeha slovacaCroataEnglezaEstonaFinlandezaFranceza
GermanaItalianaLetonaLituanianaMaghiaraOlandezaPoloneza
SarbaSlovenaSpaniolaSuedezaTurcaUcraineana

ēkaģeogrāfijaķīmijaBioloģijaBiznessDažādiEkoloģijaEkonomiku
FiziskāsGrāmatvedībaInformācijaIzklaideLiteratūraMākslaMārketingsMatemātika
MedicīnaPolitikaPsiholoģijaReceptesSocioloģijaSportaTūrismsTehnika
TiesībasTirdzniecībaVēstureVadība

Programmēšanas valoda PHP

informācija



+ Font mai mare | - Font mai mic



DOCUMENTE SIMILARE

Programmēšanas valoda PHP

Referats kursa „Programmēšanas valodas”



Vēsture

  • Par PHP priekšteci uzskatams 1995 gada Rasmus Lerdorf izveidotais produkts PHP/FI, kas patiesība bija vienkaršs Perl skriptu kopums raksta anotacijas attēlošanai interneta tiešsaistē un raksta apmeklējumu saskaitīšanai. Šis skriptu kopums tika nosaukts par „Personal Home Page Tools”. Funkcionalitates paplašinašanai Rasmus uzrakstīja lielaku C implementaciju, kas spēja stradat ar datu bazēm un ļava lietotajiem veidot vienkaršas dinamiskas Interneta lapas. 1997. gada Zeev Suraski un Andi Gutmans, divi studenti no Izraēlas, parstradaja parseri, liekot pamatus PHP3. Šaja paša gada tika publicēta PHP/FI 2.0, parstradata iepriekšēja C implementacija. 1998 g. oficiali klaja naca PHP 3. Suraski un Gutmans vēlreiz parstradaja PHP pamatus, 1999 g. izveidojot Zend dzinēju. 2000 g. klaja naca PHP 4. Šobrīd jaunaka PHP versija ir PHP 5.

Par PHP

PHP (Hypertext Preprocessor) ir atvērta koda servera puses skriptu valoda, kas pamata domata dinamisku Interneta lapu veidošanai. Tas var tikt uzskatīts par alternatīvu Microsoft’a ASP/VBScript/Jscript tehnoloģijam, Sun Microsystems’ JSP/Java un CGI/Perl tehnoloģijai.

Tomēr PHP ir vairak ka skriptu valoda. To var izmantot arī GUI aplikaciju izveidē ka arī palaist no komandrindas ka Perl vai Python.

PHP koda apstrade notiek servera pusē. Tas ir, kad lietotajs atver Interneta lapu, tiek nosūtīts pieprasījums serverim, serveris apstrada pieprasījumu- sameklē vajadzīgo HTML dokumentu, izpilda PHP kodu un nosūta rezultatu lietotaja parlūkprogrammai. Japiebilst, ka ar to PHP valoda atšķiras no citas popularas skriptu valodas- JavaScript, kas savukart tiek pildīta klienta pusē. Pozitīva iezīme koda izpildīšanai servera pusē ir tada, ka skripts noteikti izpildīsies (ja vien dotaja brīdī nav problēmas ar pašu Web serveri). Savukart, ja skripts izpildas klienta pusē, lietotajs var sava parlūkprogramma atslēgt skriptu izpildes iespēju. Piemēram, ir Interneta lapa, kas satur lejupladēšanai pieejamus rakstus, bet lai saņemtu rakstu, lietotajam vispirms ir japiereģistrējas, aizpildot formu ar detalizētu informaciju par sevi. Pēc formas aizpildīšanas notiek parbaude, vai visi lauki ir aizpildīti. Ja parbaudi veic JavaScript valoda rakstīts skripts, bet ta izpilde parlūkprogrammai ir atslēgta, lietotajs tadējadi var nosūtīt tukšus laukus un saņemt pieeju rakstiem, neaizpildījis formu. 

Ta ka PHP ir servera puses valoda, tad vajadzīgs attiecīgs web serveris, uz ka skripti varētu izpildīties. Izplatītakais savienojums ir PHP un Apache web serveris. Lai gan tas nebūt nav vienīgais serveris, ar ko PHP ir savietojams. PHP mijiedarbojas arī ar tadiem web serveriem ka Microsoft IIS un Netscape Enterprise Server.

 PHP ir platformneatkarīga valoda. To var darbinat gan Windows operētajsistēma, gan uz daudzam Unix versijam un Mac OS X.

Visbiežak PHP tiek lietots kopa ar MySQL relaciju datu bazi. Vēl tas ir savienojams ar Oracle, MS SQL, PostgreSQL, DB2 utt.

PHP priekšrocības:

·        Nav jarūpējas par izdalītas atmiņas atbrīvošanu, nav jaaizver fails pēc darbošanas ar to. To izdarīs interpretators.

·        Nav jadoma par mainīgo tipiem un pirms mainīga izmantošanas tas nav jadeklarē.

·        Nav nepieciešams „atkļūdotajs”(debugger). Par kļūdam koda paziņo interpretators pēc skripta nodošanas serverim izpildei.

PHP bibliotēkas

PHP ir pieejams liels skaits brīvo, atvērta koda bibliotēku, kas nak līdzi pamatinstalacija un nav papildus jainstalē. Ta ka PHP pamata ir domats Web aplikaciju veidošanai, tad tam ir iebūvēti moduļi FTP serveru pieejai, sadarbībai ar datu bazēm, LDAP serveriem un daudz kas cits. Ka arī ir pieejamas daudzas valoda C esošas funkcijas ka printf() un strstr().

Bez iebūvētajam bibliotēkam ir pieejami arī papildus pieinstalējami paplašinajumi ka atbalsts Windows API, XML dokumentu parsēšana, PDF dokumentu ģenerēšana procesu parvalde Linux operētajsistēma utt.

PHP iekļaušana HTML

PHP kods ir tieša veida iekļaujams HTML koda. Nav nepieciešamības pēc īpašas izstrades vides vai IDE(integrated development environment- programmatūra, kas domata vienai specifiskai vai vairakam programmēšanas valodam un sastav no teksta editora, kompilatora, interpretatora, atkļūdotaja, piemēram MS Visual Studio). PHP koda bloks rakstams starp <? un ?> birkam.

Šads iekļaušanas veids ir visizplatītakais veids, taču ja vienlaicīgi tiek stradats ar PHP un valodu XML, kas arī lieto šadas birkas, tada situacija var rasties problēmas un ir ieteicams konfiguracijas faila php.ini izslēgt šadu PHP koda iekļaušanas veidu. Citi veidi, ka iekļaut PHP kodu, ir izmantojot <?php ?> iezīmes vai <script language='php'></script>. PHP var sakonfigurēt ASP stila birku lietošanai <% %>. PHP interpretators apstradas kodu, kas atradīsies starp šadam birkam.

<html>

<head><title> <? echo $nosauk; ?></title></head>

<body> <? echo „Programmēšanas valodas”;?></body>

</html>

Šadi HTML dokumenta nosaukuma tiks ierakstīta mainīga nosauk vērtība, bet body daļa tiks izdrukats teksts- Programmēšanas valodas. echo ir standarta komanda datu izvadei uz ekrana.

PHP koda bloka var iekļaut ne tikai vienu, bet arī vairakas komandas.

<?

  echo $nosauk;

  echo „Programmēšanas valodas”;

?>

HTML kodu un PHP var sava starpa kombinēt. Sekojošaja piemēra, ja mainīgais a ir ar patiesumvērtību true, uz ekrana tiks izvadīts teksts pirmdiena, pretēja gadījuma teksts- otrdiena.

<? if ($a == true) ?>

     <p>pirmdiena</p>

<? else ?>

     <p>otrdiena</p>

Kad HTML faila ir ievietots PHP koda gabals, fails ir uzskatams par PHP skriptu un failam noteikti janorada paplašinajums .php vai kads cits, atkarība no ta, ka ir noradīts web servera konfiguracijas faila, ka konkrētais web serveris identificē PHP failus.

Komentari

PHP iespējami 3 komentēšanas veidi:

·        /* vairaku rindu komentars */

·        // vienas rindas komentars

·        # vienas rindas komentars

Mainīgie

Lai mainīgos varētu vienkaršak atšķirt no parējas koda daļas, visi mainīgo vardi sakas ar zīmi $. Nosaukums drīkst sastavēt tikai no latīņu alfabēta simboliem, cipariem un _. Mainīgo vardi ir reģistra jūtīgi, tas nozīmē, ka $a un $A ir divi dažadi mainīgie. Uz mainīgo garumu nepastav nekadi ierobežojumi ka tas ir dažas citas programmēšanas valodas. Tapat arī atšķirība no citam valodam, PHP valoda mainīgie nav obligati jadeklarē, to izdarīs pats PHP interpretators brīdī, kad mainīgais tiek pirmo reizi sastapts koda izpildes laika. Bet, ja mainīgais tomēr tiek deklarēts, to var darīt jebkura vieta programma, bet pirms tas tiek pirmo reizi izmantots.

 

Datu tipi

PHP uztur vienkaršos datu tipus:

·        veselie skaitļi (integer)

·        decimaldaļskaitļi (float, double)

·        simbolu virknes (string)

·        patiesumvērtības (boolean)

un saliktos datu tipus:

·        masīvi

·        objekti

Veselie skaitļi ir robežas no -2,147,483,648 līdz +2,147,483,647. Ja skaitlis parsniedz šo robežu, PHP to automatiski parveidos par decimaldaļskaitli. Integer tipa skaitļus var pierakstīt ne tikai decimalaja forma, bet arī heksadecimalaja un oktalaja.

$skaitlis = 25

$skaitlis = 031; //skaitlis 25 pie bazes 8

$skaitlis = 0x19; //skaitlis 25 pie bazes 16

Decimaldaļskaitļi (peldoša punkta skaitļi)- robežas no 1.7E-308 līdz 1.7E+308. Pierakstami parastaja pieraksta un eksponentu formata.

$skaitlis = 1.234

$skaitlis = 1.2e3

Simbolu virknes tiek definētas izmantojot vienkaršas pēdiņas(‘’) vai dubultas pēdiņas(„”). Atšķirība šo divu pēdiņu lietojuma ir sekojoša- virknēs, kas atdalītas ar dubultajam pēdiņam, notiks mainīgo aizvietošana ar to vērtībam, bet ja tiek lietotas vienkaršas- aizvietošana nenotiks. Piemēram:

$k1 = „Programmēšanas”;

$k2 = „valodas”;

$kurss = „$k1 $k2”;

$kurss2 = ‘$k1 $k2’;

Mainīgais $kurss saturēs tekstu „Programmēšanas valodas, bet mainīgaja $kurss2 aizvietošana nebūs notikusi un ta vērtība būs „$k1 $k2”.

Ja mainīgais tiek definēts ar dubultajam pēdiņam, un tam tiek piešķirta vērtība, kura arī ir dubultas pēdiņas, tad, lai interpretators pareizi saprastu, kur sakas un beidzas piešķirama simbolu virkne, iekšējam pēdiņam priekša jaliek izvairīšanas simbols (escape character)

Piemēram:

echo „SIA Zvaigzne „ABC””;

izdrukas SIA „Zvaigzne ABC.”

Vēl viens veids ka mainīgajam piešķirt simbolu virkni, ir izmantojot heredoc sintaksi. Priekšrocība ir tada, ka nav jadoma, kuras pēdiņas labak lietot konkrēta gadījuma, ka arī nav jalieto izvairīšanas simboli.

$str = <<<EOD

     apgada „Zvaigzne ABC”

     nopērkama jaunaka macību literatūra

EOD;

Boolean mainīgie ir ar divam iespējamam vērtībam- true un false

Masīvi satur vairakas vērtības, kur katrai no tam piekartots indekss. Indekss var gan skaitlis, gan simbolu virkne. Ja masīvu indeksē ar simbolu virknēm, tos sauc par asociatīvajiem masīviem.

Divu elementu masīvs:

$mas[0] = „students”;

$mas[1] = „pasniedzējs”;

Elementa pievienošana masīva beigas:

$mas[] = „rektors”;

Ja elementu pievieno šadi, nenoradot indeksu, tam tiks piešķirts indekss, kas ir nakošais aiz maksimala no masīva esošajiem indeksiem.

Viena masīva var lietot gan skaitliskus, gan simbolu virkņu indeksus.

Otrs veids, ka veidot masīvus, ir izmantojot konstrukciju array().

$mas = array(); - tukšs masīvs

$mas = array(students, pasniedzējs); -divu elementu masīvs.

Array() ir ērti lietot, ja javeido vairakdimensiju masīvi.

$mas = array (

„Algebra” = array(„nosauk”=>”Algebra”,„pasniedzējs”=>”Detlovs”),

„Oracle” = array(„nosauk”=>”Oracle”, „pasniedzējs”=>”Niedrītis”));

Piekļūšana šada masīva elementiem- $mas[„Algebra”][„pasniedzējs”].

Ja masīvs ir ļoti liels, var būt nepieciešamība darba beigas to iznīcinat. To var izadrīt ar funkciju UnSet().

Masīvus iespējams apvienot viena, izmantojot array_merge() funkciju.

$A = array(1, 2, 3);
$B = array( 5, 6);
$C = array_merge($A, $B); //rezultata $C = array(1, 2, 3, 5, 6)

Viendimensiju masīva apstaigašanas veids:

        foreach($array as $key=>$value)

Masīva kartošanai PHP ir daudz dažadu funkcijas. Svarīgakas no tam:

·                asort(), arsort()- kartošana pēc elementu nosaukuma augoša un dilstoša secība

·                ksort(), krsort()- kartošana pēc indeksa.

·                sort()- kartošana pēc nosaukuma, parraujot saiti starp elementa indeksu un vērtību. Tas ir, parrakstot masīvu $mas = array(„vards”, „adrese”, „e-pasts”); izskata indekss->vērtība, tas izskatīsies šadi:
0 ->”vards”
1 ->”adrese”
2 -> „e-pasts”
izpildot sort($mas), saistība starp indeksu un vērtību zūd:
0 ->”adrese”
1 -> „e-pasts”
2 -> ”vards”


Operatori

Aritmētiskie: + - *  /  %(atlikums)

Simbolu: . (simbolu savienošana/konkatenacija)

Loģiskie:

·        $a ||$b (OR)

·        $a or $b (OR)

·        $a && $b (And)

·        $a and $b (And)

·        $a xor $b (XOR) (True- ja $a vai $b ir patiess, bet ne abi)

·        !$a (Not)

Salīdzinašana: >, < >=, <= , == (vienadība), != (nevienadība)

Kontroles struktūras

PHP kontroles struktūras ir ļoti līdzīgas valodas C konstrukcijam. Tas var pierakstīt divos veidos- izmantojot C sintaksi un ar atdalot komandu bloku vai izmantojot Perl sintaksi, lietojot beigas nobeiguma komandu.

 

Nosacījuma operators


C sintakse:

if (loģiskais nosac)

else

Perl sintakse:

if (loģiskais nosac):

     operators1;

     operators2;

else:

     operators_n-1;

     operators_n

endif;


Pastav arī if konstrukcijas īsais pieraksts, kas lietojams, ja atkarība no loģiska nosacījuma vērtības vienam mainīgajam japiešķir vērtība:

$var = (nosac ? vertiba1 : vertiba2)

Tas nozīmē, ka $var vērtība būs vertiba1, ja nosac izpildīsies, bet vertiba2, ja nosac neizpildīsies. Piemēram:

         $var = ($a ==1 ? 1 : 2);

switch-case


switch(izteiksme)

switch(izteiksme):

     case vērtība1:

komanda1; break;

     case vērtība2:

komanda2; break;

    

     default: komandaN; break;

endswitch;


Case vērtības tiek salīdzinatas ar switch izteiksmes vērtību. Ja tas sakrīt, izpildas komandas aiz attiecīgas case iezīmes. Ar break iziet no switch kontroles struktūras, lai pēc tam, kad ir atrasta case vērtība un izpildīta komanda, nenotiktu parējas salīdzinašanas. Default iezīmes komandas izpildas, ja neviena no case vērtībam nav sakritusi ar switch izteiksmi.

while cikls


while (nosac)

while(nosac):

     komandas

endwhile


Ja komandu bloka ir tikai viena komanda, var nerakstīt. Ciklu konstrukcijas pieejamas īpašas komandas- break un continue. Ar break iespējams jebkura brīdī iziet no cikla. Savukart continue partrauks cikla ķermeņa komandu izpildi un saks pildīt nakamo iteraciju no sakuma.

do while cikls

Šī konstrukcija ir analoga citu programmēšanas valodu konstrukcijai repeat until. Atšķirība no while konstrukcijas šeit nosacījums tiek parbaudīts pēc tam, kad izpildīts cikla ķermenis.


do while(nosac);

do:

     komandas

while(nosac);


for cikls

for(izteiksme; nosac izteiksme; izteiksme )

for(izteiksme; nosac izteiksme; izteiksme):

     komandas

endfor;


Pirma izteiksme piešķir cikla skaitītajam sakuma vērtību, otrais ir nosacījums, kas tiek parbaudīts katra iteracija, treša izteiksme pēc cikla izpildes palielina cikla skaitītaju.

foreach cikls

Kontroles struktūra, kas paredzēta masīva apstaigašanai. Atbalsta PHP sakot no 4 versijas.

foreach (array as $key=>$ value)

Katra iteracija tiks izpildītas cikla ķermeņa komandas un mainīgais $key saturēs indeksa nosaukumu, bet $value katra masīva elementa vērtību.

Funkcijas

PHP piedava lielu iebūvēto funkciju klastu, ka arī ļauj lietotajam pašam definēt funkcijas.

Funkciju definīcijam nav paredzēta noteikta vieta PHP programma, tas var tikt definētas jebkura vieta pirms to izmantošanas <? ?> ietvaros.

function nosaukums(arg1[=vērtība],, argn[=vērtība])

Funkcijas deklaracija sakas ar atslēgas vardu function, tad seko tas nosaukums, kas nedrīkst sakrist ar kadu no iebūvēto funkciju nosaukumiem, pretēja gadījuma būs paziņojums par kļūdu. Pēc nosaukuma- argumentu saraksts iekļauts () un funkcijas ķermenis, kas iekļauts figūriekavas. Ja funkcijai nav nepieciešami no arpuses padoti argumenti, tad () paliek tukšas.

Funkcijas nosaukums nav reģistra jūtīgs, tas ir, F() un f() ir viena un ta pati funkcija.

Lai nodotu funkcijas izpildes rezultatu izsaucošajai programmai jalieto komanda return. Ja funkcija neko neatgriež, tad return tas deklaracija nenorada.

Ja funkcija ir definēta ar diviem parametriem, kas tai padodami no arpuses, tad, to izsaucot, japadod abi parametri. Funkciju var definēt arī ar neobligatiem parametriem, funkcijas definīcija noradot parametra noklusēto vērtību.

Function atzīme($a=10)

Argumentu padošana

Argumentus funkcijai var padot pēc vērtības vai pēc norades. Arguments, kas padots pēc vērtības, funkcijai ir pieejams tikai priekš „lasīšanas”, tas ir, funkcija var to izmantot, bet ne vairak. Padotajam parametram veiktas izmaiņas nebūs redzamas arpus definētas funkcijas. Piemēram:


function f($s)

$main = 1;

f($main);

echo $main;

Izsaucot funkciju, parametram $s tiek piešķirta vērtība 1. funkcija tiek izpildīts piešķiršanas operators un $s maina vērtību, bet tas nemaina $main vērtību arpus funkcijas.

function f(&$s)

$main = 1;

f($main);

echo $main;

Savukart šadi nododot argumentu pēc norades, $main vērtība būs 15.


Globalie un lokalie mainīgie

Lokalie mainīgie ir pieejami tikai funkcijai, globalie visai programmai koda izpildes laika. Lai piekļūtu globalajam mainīgajam no funkcijas, funkcija tas ir janorada mainīgajam priekša uzrakstot atslēgas vardu global.

function f()

$i = 5;

f();

Šada funkcija izdrukas „5”. Ja nebūtu noradīts atslēgas vards global, tiktu izdots kļūdas paziņojums.

Globalo mainīgo piekļūšanai no funkcijas var izmantot PHP iebūvēto globalo masīvu $GLOBAL.

function f()

$i = 5;

f();

Superglobalie masīvi

Saņemot datus HTTP pieprasījuma (no formas, web servera utt.), tiem automatiski tiek izveidoti mainīgie, kas tiek ievietoti vai nu globalaja simbolu tabula vai kada no superglobalajiem jeb autoglobalajiem masīviem atkarība no php.ini konfiguracijas faila uzstadītas PHP direktīvas register_globals. Superglobalie masīvi ir iebūvēti masīvi, lietotajam tos nav iespējams definēt.

Drošības apsvērumu dēļ no PHP 4.2.0 versijas register_globals noklusēta vērtība ir off un to mainīt nav ieteicams. Pie register_globals =  off mainīgie, kas līdz šim tika glabati globalaja apgabala, tagad glabajas attiecīgaja superglobalaja masīva. Piemēram, lai no URL https://www.tvnet.lv/index.php?id=2 dabūtu mainīgo $id, pie ta javēršas ar $_GET[‘id’] nevis vienkarši $id.

Superglobalie masīvi:

$GLOBALS- satur visus programmas globalos mainīgos. Masīva indeksi ir globalo mainīgo vardi.

$_SERVER- mainīgie, kurus uzstada web serveris. Parasti taja glabajas tada informacija ka HTTP_HOST, DOCUMENT_ROOT, REMOTE_ADDR utt.

$_GET- mainīgie, kas saņemti ar GET metodi. Parasti tie URLa padotie mainīgie. Piemēram, https://www.tvnet.lv/index.php?id=2&page=3 uzstada $_GET[‘id’] un $_GET[‘page’] mainīgos.

$_POST- parasti tie ir mainīgie, kas nosūtīti no HTML formas, izmantojot datu nosūtīšanas metodi POST.

$_COOKIE- cookies, ko parlūkprogramma atsūta līdz ar pieprasījumu.

$_ENV- vides mainīgie, kas uzstadīti, kad tiek startēts web serveris.

$_REQUEST- masīvs, kas apvieno sevī $_GET, $_POST un $_COOKIE mainīgos.

$_SESSION- pašreizējas sesijas mainīgie.

$_FILES- augšupladējot failu, visa informacija par to tiks ierakstīta šaja masīva. Tas ir divdimensiju masīvs un katrs ieraksts satur faila nosaukumu, tipu, izmēru, īslaicīga faila(temporary) vardu, kura augšupladējamais fails noglabats uz servera, un kļūdas kodu.

Vienkarša forma failu augšupladēšanai:

<form enctype='multipart/form-data' action='_URL_' method='post'>

Fails: <input name='file' type='file' />

 <input type='submit' value='Pievienot' />

</form>

Vēršanas pie $_FILES masīva ierakstiem:

$_FILES[‘file’][‘name’] –faila vards

$_FILES[‘file’][‘type’] –faila tips

$_FILES[‘file’][‘size’] –faila izmērs

$_FILES[‘file’][‘tmp_name’] –temporary vards

$_FILES[‘file’][‘error’] – kļūdas kods

PHP versijas, kas ir jaunakas par 4.1.0, eksistē šadi šiem masīviem līdzvērtīgi masīvi, $HTTP_SERVER_VARS, $HTTP_GET_VARS, $HTTP_POST_VARS , $HTTP_COOKIE_VARS, $HTTP_POST_FILES, $HTTP_ENV_VARS. Sakot no 4.1.0 versijas pastav gan šadi garo nosaukumu masīvi un arī īso, tomēr ieteicams ir izmantot īsos nosaukumus.

PHP funkcijas darbam ar MySQL datu bazi

mysql_connect([$hostname, $user, $password]) ir pamatfunkcija, kas izveido savienojumu ar datu bazi, veicot autorizaciju ar noradīto lietotaja vardu un paroli. Ka hostname parasti tiek noradīts localhost. Funkcija atgriež konekcijas id.

mysql_close($id)- savienojuma slēgšana. Ka parametrs janorada savienojuma identifikators. Savienojumu slēgšana nav obligata, pēc PHP skripta izpildes, tie tiks aizvērti automatiski.

mysql_select_db($db, [$id])- datu bazes izvēle, ar ko stradas skripts. Ja atvērts tikai viens savienojums, savienojuma id var nenoradīt.

mysql_query()- pieprasījuma izpilde.

Ja pieprasījums ir veiksmīgi izpildījies, ir atgriezti ieraksti, kurus var apstradat sekojošam funkcijam:

mysqli_fetch_array()- ielasa tekošo ierakstu asociatīvaja masīva, kura indeksi ir ieraksta lauku nosaukumi.

mysqli_fetch_row()- ielasa tekošo ierakstu viena simbolu virknē.

mysqli_fetch_object()- tekošo ierakstu ielasa objekta.

mysqli_num_rows()- pieprasījuma atgriezto ierakstu skaits.

Katrs mysqli_fetch_array(), mysqli_fetch_row(), mysqli_fetch_object() izsaukums parvieto pieprasījuma noradi uz nakošo pozīciju un saņem nakošo ierakstu. Ja ierakstu  vairak nav, tiek atgriezts False.

Piemērs:

$rs=mysql_query(“select distinct(nosauk) from kategorija”);

while ($data= mysqli_fetch_object($rs))

         echo $data->nosauk;

Tabula kategorija ir lauks “nosauk”. SQL pieprasijums atgriež dažados kategoriju nosaukumus. Ar  mysql_query tiek izpildīts pieprasījums, pēc tam while cikla apstaiga atgrieztos rezultatus, ielasot katru ierakstu datu objekta un izvadot uz ekrana kategoriju nosaukumus.

Ja SQL pieprasījums ir uzrakstīts kļūdaini vai nav iespējams pieslēgties pie noradītas datu bazes, tad, lai zinatu kadu iemeslu dēļ skripts nav izpildījies, var izmantot funkciju mysql_error(), kas atgriež kļūdas paziņojumu.

Cookies

Cookies- tie ir mainīgie, kurus uzstada programma un tie glabajas klienta pusē uz datora īpaša direktorija. Tada veida var glabat nelielu informacijas daudzumu, piemēram, lietotaja logina vardu(bet nekada gadījuma paroli), individualus interneta lapas iestatījumus (burtu izmērs, krasa, valoda utt.). Kapēc šadi nevar glabat paroli? Saņemot no servera Cookie mainīgo, parlūkprogramma to saglaba uz diska atvērta veida, tas ir, to nešifrējot. Tapēc ikviens var atvērt teksta redaktora attiecīgo failu, kur glabajas cookies informacija, un to apskatīt vai pat izmainīt.

Lai uzstadītu Cookie mainīgo, jaizmanto funkcija SetCookie. Tai ir 6 parametri. Parasti lieto 3 no tiem:

·        name- cookie nosaukums. Obligats parametrs.

·        Value- mainīga vērtība

·        Expire- mainīga ‘dzīves ilgums’. Ja tas nav noradīts, cookie ‘dzīvos’ līdz sesijas beigam. Pretēja gadījuma, sasniedzot noradīto laiku, ta pašiznīcinasies.

Izveido cookie mainīgo login ar vērtību „maija”:

SetCookie(„login”, „maija”);

cookie mainīgais ar dzīves ilgumu 1 stunda:

SetCookie(„login”, „maija”, time()+3600);

Cookies jauzstada pirms ir noticis datu izvads uz ekrana. Piekļūšana cookies mainīgajiem notiek, izmantojot superglobalo masīvu $_COOKIE. Piemēram, $_COOKIE['login'].

Sesijas

Sesijas ir mehanisms, kas ļauj viennozīmīgi identificēt lietotaju (parlūkprogrammu) un izveidot uz servera konkrēta lietotaja failu, kura glabajas vajadzīgie vienas darba sesijas mainīgie un to vērtības. Konkrētas sesijas identificēšanai tiek izmantots sesijas identifikators($PHPSESSID). Ar ta palīdzību serveris var noteikt, kurš lietotajs pie ta vēršas attiecīgaja brīdī, un paņemt atbilstoša faila mainīgos. Sesijas sakuma serveris lietotajam piešķir šo identifikatoru un pēc tam, lietotajam staigajot pa interneta lapas saitēm, tas automatiski tiek padots līdzi caur pieprasījuma URL vai arī, izmantojot Cookies. Izmantot pieprasījuma URL ir drošak, jo Cookies izmantošana vienmēr nevarēs garantēt identifikatora nodošanu, jo pastav iespēja, ka lietotajs ir atslēdzis parlūkprogrammai Cookies. Kuru no šiem identifikatora padošanas veidiem lietot- tas janorada php.ini faila parametros:

·        Session_use.cookies- ja ieslēgts, identifikators tiks padots ar Cookies

·        Session.use_trans_sid- ja ieslēgts, PHP pievienos identifikatoru pie pieprasījuma URL adreses.

Lai uzsaktu sesiju, jaizsauc funkcija session_start(), kas inicializē sesiju, tad japiereģistrē mainīgie ar session_register();

<?  

Session_start();

Session_register(„phpsesid”);

$ phpsesid = session_id();

?>

Funkcija session_id() atgriež sesijas identifikatoru.

Izpildot šadu skriptu, parlūkprogramma saglaba $phpsesid vērtību uz servera. Ja tagad lietotajs no interneta lapas, kura bija šis skripts, caur URL saiti aizies uz nakošo lapu, taja var parbaudīt, vai šads sesijas mainīgais ir inicializēts:

<?

session_start();

if (isset($_SESSION ['phpsesid'])) echo SESSION ['phpsesid'];

else echo „kļūda!”;

?>

Ja lietotajs tiešam ir nacis no iepriekšējas lapas, tad mainīgajam $phpsesid jabūt reģistrētam un tiks izdrukata ta vērtība, pretēja gadījuma paradīsies uzraksts „kļūda!”.

Ja register_globals=off, pie sesijas mainīgajiem javēršas caur superglobalo masīvu $_SESSION, pretēja gadījuma- ar tiem darbojas ka ar parastiem mainīgajiem.

Objektorientēta programmēšana

Atšķirība no C++ objektorientētas programmēšanas(OOP) atbalsts PHP ir diezgan ierobežots. Taču šobrīd jaunakaja PHP versija- PHP5 ir izdarītas būtiskas izmaiņas un var uzskatīt, ka PHP5 pilnība atbalsta OOP.

Piemērs klases un jaunas instances izveidošanai:

<? class human

//metodes

function GetInfo()}

$viir = new human(„Andris”, „22”);

$viir->GetInfo();

?>

Definējot klasi, definējam tas atribūtus (atribūtiem priekša jaliek atslēgas vards var), aprakstam konstruktoru, kas tiks izsaukts, kad tiek veidota jauna klases instance jeb objekts, un klases funkcijas. Piekļuvi klases atribūtiem realizē ar mainīgo $this. $this->_name norada uz klases atribūtu _name.

New, noradot klases nosaukumu un konstruktoram vajadzīgos parametrus, izveido jaunu objektu. $viir->GetInfo() – izsauc klases funkciju GetInfo.

Objektu mantošanu realizē ar atslēgas vardu extends.

Piemēram klase „woman”, kas manto iepriekš uzrakstīto klasi „human”:

class woman extends human

function GetInfoSiev() }

Atslēgas vards parent norada uz klasi, kuru konkrēta klase ir mantojusi. Bet ta ka parmantotas klases metodes kļūst par attiecīgas klases metodēm, tad parent::GetInfo tikpat labi var rakstīt ka $this->GetInfo();

Izmantota literatūra:

1.      https://php-dev.lv

2.      https://php.net

3.      https://en.wikipedia.org/wiki/Php

4.      Самоучитель РНР, Наука и Техника, Санкт- Петербург 2004



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 1349
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved