Scrigroup - Documente si articole

Username / Parola inexistente      

Home Documente Upload Resurse Alte limbi doc  

AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


Instructiuni de control

php

+ Font mai mare | - Font mai mic




DOCUMENTE SIMILARE

Trimite pe Messenger
Operatori PHP
Limbajul PHP. Prezentare generala
Exemplu fundamental
Securitatea in Internet
Modelul client-server. Pagini web interactive (dinamice)
Modificarea tipului variabilelor
Vizibilitatea variabilelor
Siruri asociative
Autentificarea sursei de date
Dezvoltarea unui site PHP cu baze de date PostgreSQL




Instructiuni de control

Instructiunea if




Ca si in alte limbaje, instructiunea if are doua forme:

if (conditie)

respectiv

if (conditie)

else

Conditia poate fi o expresie logica, scrisa folosind operatorii relationali uzuali: < <= > >= == != (sau <>, diferit), respectiv && (dar si and, operatorul si), || (dar si or, operatorul sau), ! (negatie). Cele doua variante de operatori logici 'si' respectiv 'sau' difera prin ordinea de evaluare a operanzilor.

Ca si in alte limbaje, conditie poate fi o expresie aritmetica, o valoare 0 a acesteia fiind interpretata ca fals (FALSE) iar o valoare diferita de 0 ca adevarat (TRUE).

Instructiunea if elseif

Ca si in C, si in PHP pot fi scrise constructii de forma:

if (conditie_1)

elseif (conditie_2)

elseif (conditie_3)

else

Ultimul else poate lipsi.

Instructiunea switch case

Pentru cazul in care intr-un program ramificarea depinde de valoarea unei variabile, structura switch case este mai potrivita. Ea are sintaxa:

switch ($var)

Exemplu:

switch ($submit)

Portiunea din script din exemplu realizeaza o actiune comandata prin apasarea unui buton de tip submit. In functie de butonul apasat, valoarea transmisa scriptului difera. In cazul 'update' instructiunea 'break' lipseste, deci dupa actualizare se va executa codul specific imprimarii ($submit = 'display').

Instructiunea while

Instructiunea while indica repetarea unei actiuni atata vreme cat o conditie este adevarata. Sintaxa instructiunii este:

while (conditie)

Exemple:

$query = 'select nume, prenume from utilizatori';

$rezultat = mysql_query($query) or die(mysql_error());

while ($row = mysql_fetch_array($rezultat))

Aceasta structura de cod este specifica activitatii de recuperare de informatii dintr-o baza de date.

$nume = array('Ion', 'Maria', 'George', 'Sandu');

while (list( , $value) = each($nume))

Instructiunea do while

Instructiunea do while indica repetarea unei actiuni atata vreme cat o conditie este adevarata. Spre deosebire de while, conditia este testata dupa executarea cel putin o data a actiunii. Sintaxa instructiunii este:

do

while (conditie);

Instructiunea for

Instructiunea for are sintaxa urmatoare:

for(exp1; exp2; exp3)

Exemplu:

<html>

<?php

$factorial = 1;

for ($i=1; $i<7; $i++)

?>

</html>

Instructiunea foreach

Instructiunea foreach se foloseste exclusiv pentru prelucrarea elementelor sirurilor. Este echivalenta constructiei list () = each(). Sintaxa instructiunii este:

foreach ($nume_sir as $variabila)

Exemplu:

$nume = array('Ion', 'Maria', 'George');

foreach ($nume as $membru)

Instructiunile break si continue

Ca si in C, break intrerupe un ciclu sau un switch. Instructiunea care urmeaza dupa break este cea care urmeaza dupa instructiunea switch sau dupa ciclul care contine break.

Instructiunea continue este folosita tot in interiorul ciclurilor si comanda reluarea imediata a ciclului intrerupand secventa de cod cuprinsa intre locul in care continue este inserat si sfarsitul ciclului.



Exemplu:

<html>

<?php

$director = opendir ('c:/apache/htdocs/postuniv/');

echo 'fisierele din directorul $director sunt:<br>n';

while ($fisier = readdir ($director))

echo '$fisier <br> n';

}

closedir ($director);

?>

</html> 

Functiile opendir() respectiv closedir() deschid respectiv inchid un director iar functia readdir() citeste o intrare din acest director. Tipul intrarii (fisier sau director) este testat prin apelul functiei is_dir() si in caz pozitiv, intrarea este ignorata (se executa instructiunea continue).

Aplicatie (9)

a.         Porniti aplicatia xampp. c:xamppxampp_start.exe

b.        Creati directorul c:xampphtdocsperla in care se vor salva toate fisierele realizate in continuare. Creati un fisier denumit salut.php care afiseaza un mesaj. Toate scripturile se incarca in browser folosind adresa (URL) a acestora: https://localhost/perla/salut.php.

<html>

<head>

<title>Exemplu</title>

</head>

<body>

<?php

echo 'Salut, sunt un script PHP !';

?>

</body>

</html>

c.         Integrati urmatorul script intr-un document denumit hotel.php. Analizati sintaxa.

$cladire = 'hotel';

echo '<p>Am vizitat statiunea Perla</p>';

echo '<p>Am locuit intr-un $cladire superb</p>';

echo '<p>Toti turistii sunt multumiti de serviciile ' . $cladire . 'iere</p>';

d.        Creati un script denumit cazare.php care utilizeaza un tablou asociativ dupa modelul:

$cazare = array( 'Plaza' => 'hotel' , 'Rustic' => 'motel' , 'Ana' => 'vila' );

echo '<p>Sunt cazat la $cazare[Ana]</p>n';

echo '<p>Mananc la $cazare[Rustic]</p>n';

echo '<p>Fac baie la piscina de langa $cazare[Plaza]</p>';

Observatie: Analizati care este codul generat in browser de acest script (Wiew/Source) in forma prezentata si daca se elimina cele doua n

e.         Descarcati de pe pagina web a cursului, fisierul rezervari.html care contine formularul prezentat in imagine si scriptul rezervari.php care afiseaza valorile transmise de formularul HTML scriptului PHP in momentul apasarii butonului de tip submit.


Fig. 5.5 Modelul fisierului rezervari.html

Observatie: Analizati cu mare atentie mecanismul de transmitere a valorilor variabilelor de la formularul HTML la scriptul PHP. Identificati marcajele de inserare in formular a tuturor campurilor si observati ca denumirile variabilelor utilizate in script, sunt identice cu denumirile campurilor formularului:

rezervari.html

<select name='cazare'>
<option selected value='initial'>(Alege cazarea)</option>
<option value='plaza'>Plaza</option>
</select>

<input type='text' name='nume' size='30'>

<input type='text' name='prenume' size='30'>

<input type='text' name='email' size='30'>

<input type='text' name='telefon' size='30'>

<input type='radio' name='tip_cam' checked value='0'>

<input type='radio' name='tip_cam' value='1'>

<input type='radio' name='tip_cam' value='2'>

<input type='text' name='data' size='10' value='0000-00-00'>

<input type='text' name='nrzile' size='2'>

<select name='confirm'>

<option selected value='initial'>(Alege)</option>

<option value='email'>E-mail</option>

<option value='telefon'>Telefon</option>

</select>



<input type='checkbox' name='plata'>

<input type='password' size=4 name='pin'>

rezervari.php

echo 'Denumirea spatiului de cazare: $cazare <br>';

echo 'Numele clientului: $nume <br>';

echo 'Preumele clientului: $prenume <br>';

echo 'E-mail-ul clientului: $email

<br>';

echo 'Telefonul clientului: $telefon <br>';

echo 'Tipul camerei rezervate:

$tip_cam : ';

echo 'Data sosorii: $data <br>';

echo 'Numarul de zile: $nrzile <br>';

echo 'Tipul confirmarii: $confirm <br>';

echo 'Plata anticipata: $plata : ';

echo 'Codul cardului: $pin <br>';

f.          Modificati aspectul fisierului rezervari.html prin scrierea fisierului stilform.css care sa controleze culoarea in care sunt afisate anumite componente si tipul fontului.

stilform.css

h2

td

hr

rezervari.html

Adaugati in sectiunea <head> marcajul:

<link rel='stylesheet' type='text/css' href='stilform.css'>

g.         Modificati fisierul rezervari.php astfel incat acest script sa afiseze cu culoarea rosie, toate valorile variabelor transmise din formular.

<font color=red>$nume</font>

h.         Realizati un script care afiseaza numarul accesarilor unei pagini web. Pentru aceasta scrieti fisierul contor.php care sa realizeze incrementarea unui contor citit dintr-un fisier denumit contor.dat.

contor.php

<html><head><title>Un contor util</title></head>

<body>

Din 1.05.2003, aceasta pagina a fost citita de

<?php

$contor = 1;

// Deschid fisierul care contine contorul

if($fp = fopen ('contor.dat','r'))

// Rescriu in fisier valoarea contorului

// Deschid fisierul care contine contorul

$fp = fopen ('contor.dat', 'w');

// Scriu noua valoare a contorului

$sir = sprintf('%dn', $contor);

fputs ($fp, $sir);

// Inchid fisierul

fclose($fp);

echo '$contor vizitatori.';

?>

</body></html>

Observatii:

1. In vederea creerii fisierului contor.dat, la prima incarcare a fisierului contor.php, trebuie sa se creeze fisierul contor.dat, care inca nu exista, deci nu poate fi citit. In consecinta functia fopen trebuie apelata cu atributul 'w+':

$fp = fopen

('contor.dat','w+')

Dupa ce fisierul contor.dat a fost creat, se poate modifica functia fopen cu atributul 'r', care va deschide fisierul in citire (ca in exemplul prezentat).

i.           Afisati cu ajutorul unui script, denumit azi.php, data curenta si ora:

<html>

<head><title>Afisarea datei</title></head>

<body>

<?php

$azi = date('j F, Y, g:i a');

echo '<p>$azi</p>'; echo 'sau'; echo '<p>Data: ';

$azi = date('m.d.y'); 

echo '$azi</p>'; echo '<p>Ora: '; $azi = date('H:i:s'); echo '$azi</p>'; 

?>

</body>

</html>

Munca independenta

Copiati de pe discheta Dvs., sau din directorul c:perla fisierele index.html info.gif uk.gif si oval1.gif in directorul c:xampphtdocsperla si efectuati modificarile necesare in vederea contorizarii numarului de vizitatori ai sitului. In acest scop folositi fisierul contor.php creat anterior, pe care il veti integra in fisierul index.html


Fig. 5.6 Modelul fisierului index.html

Observatie: Dupa integrarea fisierului contor.php in fisierul index.html pentru a fi afisat numarul vizitatorilor sitului, deci pentru ca scriptul sa functioneze, trebuie schimbat numele fisierului in index.php si acesta trebuie incarcat in browser utilizand adresa URL.








Politica de confidentialitate

DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 720
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 2020 . All rights reserved

Distribuie URL

Adauga cod HTML in site