Documente Academic
Documente Profesional
Documente Cultură
Modul 8 -
Fișă de lucru
Probleme destinate asimilării aspectelor teoretice legate de lim-
baj: Comentarii, Variabile, Constante, Conversii și Instrucțiuni
<html>
<head>
<title>Exemplu pentru toate tipurile de variabile PHP</title></head>
<body>
<pre>
<?php echo "Hello\n world \t!"; ?>
</pre>
<?php echo "El a spus: \"Ai nevoie de chestiile astea! \" pentru studenti";
?>
</body>
</html>
I. Variabile și Constante
<html>
<head><title>Exemplu variabile PHP </title></head> <body>
<?php
$a=5;
$aduna=$a+5;
Pagina 2
print "Rezultatul adunarii este: $aduna"; /* se afişează pe ecran textul
Rezultatul adunarii este:urmat de valoare variabilei $aduna adică 10 */
?>
<h2> Alte exemple</h2>
<?php
$nume = "Unchiul Vanea" ;
$nascut = 1961 ;
$tara = "Romania" ;
echo "Buna ziua, numele meu este: <b>" ;
echo $nume ;
echo "</b>" ;
echo "<p/>" ;
echo "Sunt un personaj de roman: <br/>";
echo "<em>";
echo $tara;
echo "</em>";
echo "<p/>";
echo "Eu am<b>";
echo (2021 - $nascut) ;
echo "</b> de ani.";
?>
</body> </html>
Pagina 3
echo " ";
echo "este $casting <br>";//afiseaza:9.8
$casting=(integer) $test;
echo gettype($casting);//integer
echo " ";
echo "este $casting <br>";//afiseaza:9
$casting=(double) $test;
echo gettype($casting);//double
echo " ";
echo "este $casting <br>";//afiseaza:9
$casting=(boolean) $test;
echo gettype($casting);//boolean
echo " ";
echo "este $casting <br>";//1
echo "<hr>";
echo "Tipul variabilei originale este:";
echo gettype($test);//double
echo " ";
echo "Valoarea variabilei initiale este: $test";//neschimbata 9.8
?>
</body>
</html>
<html>
<body>
<?php
$p = "POP";
$l = "VIOREL";
$spatiu = ( $p . " " ) ; // concatenare!
$nume = ( $spatiu . $l ) ; // concatenatre!
Pagina 4
echo "<h1>$nume</h1>";
?>
</body>
</html>
Pagina 5
$euro = ( $moneda/$rate ) ; // împărţire!
$rotunjire=round( $euro ) ;
echo "<b>$rotunjire</b> DKK."; ?>
<br/>
<?php $x = 2 ;
$y = 5 ;
$rezultat = ((1 + (2 - $x)) * ($y / 2)) ;
echo "Rezultatul este: <b>$rezultat</b>";
?>
<br/>
<?php $x = 7 ;
echo " 'x' este: <b>$x</b>";
echo "<p/>";
$x++ ;
echo "'x' este: <b>$x</b>";
?>
<br/>
<?php
$x = 1 ;
$y = 2 ;
$rezultat = ( $x > $y ) ;
echo "Rezultatul este: <b>$rezultat</b>";
?>
<html>
<head><title>Exemplu variabile PHP </title></head> <body>
<h2> Numele de variabile sunt case senzitive</h2>
<?php
$nume = "Aici se memorează un text";
$Nume = "Aici se memorează un alt text";
echo $nume ;
echo "<p/>";
Pagina 6
echo $Nume;
?>
</body> </html>
print_r($_SERVER);
?>
Pagina 7
</body> </html>
II. Instrucțiuni
Exemplu1. Se dau două valori întregi atribuite prin program, să se determine
minimul dintre ele.
(în biblioteca cu exerciții rezolvate PB1_Instructiuneaif.php)
<html><head>
<title> Determinarea minimului dintre doua valori </title>
</head>
<body>
<?php
//Determinarea minimului dintre doua valori
$a=10;
$b=7;
if ($a<$b)
{echo "Minimul este:$a";}
else
{echo "Minimul este:$b"; }
?>
</body> </html>
Pagina 8
B: <input type="text" name="b"/>
<input type="submit" name="submit" />
</form>
</body></html>
<?php
//Determinarea minimului dintre doua valori
if (isset($_POST['submit'])){
$a=trim($_POST['a']);
$b=trim($_POST['b']);
if ($a<$b)
{echo "Minimul este:$a";}
else
{echo "Minimul este:$b"; }}
?>
Pagina 9
<html>
<head>
<title> Determinarea minimului dintre doua valori </title>
</head>
<body>
<form action="PB3_Instructiuneaif_ecgr1.php" method="POST">
A: <input type="text" name="a" />
B: <input type="text" name="b"/>
<input type="submit" name="submit" />
</form>
</body></html>
<?php
//Determinarea minimului dintre doua valori
if (isset($_POST['submit'])){
$a=trim($_POST['a']);
$b=trim($_POST['b']);
IF ($a!=0)
{ $rezultat = -$b/$a;
echo "$rezultat";
}
elseif ($b==0) echo "ecuatia are o infinitate de solutii";
else echo "ecuatia nu are solutii";
}
?>
<html> <head>
Pagina 10
<title> Instructiunea switch...case. </title>
</head><body>
<form action="PB4_Instructiuneaswitch.php" method="POST">
Nr: <input type="text" name="nr" />
<input type="submit" name="submit" />
</form>
</body></html>
<?php
if (isset($_POST['submit'])){
switch(trim($_POST['nr'])){
case 1: echo "Luni";
break;
case 2: echo "Marti";
break;
case 3: echo "Miercuri";
break;
case 4: echo "Joi";
break;
case 5: echo "Vineri";
break;
case 6: echo "Sambata";
break;
case 7: echo "Duminica";
break;
default: echo "Nu este numar echivalent cu 0 zi din saptamana"; }} ?>
</body>
</html>
Pagina 11
</form>
<?php
//Determinarea factorialului
if (isset($_POST['submit'])){
$n=trim($_POST['a']);
<?php
//Determinarea factorialului
if (isset($_POST['submit'])){
$n=trim($_POST['a']);
Pagina 12
//Calculul factorialul lui n
$i=1;
$fact=1;
do{
$fact=$fact*$i;
$i++;
}while ($i<=$n);
echo "Rezultatul lui n! este: $fact";
}?></body></html>
Pagina 13
III. Date de intrare -Formulare
Exercițiu 1:Creați 2 pag php care trasmit cu GET informația preluată
printr-un formular și o afișează în browser. (în biblioteca cu exerciții rezol-
vate PB4_1formget.php )
formget.php
<html>
<head>
<title> Formular cu GET</title></head><body>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
Pagina 14
<title>Exemplu de Radio Buttons in PHP</title>
</style>
</head>
<body>
<div class="container my-5">
<form action="" method="post" class="mb-3">
<label>
<b> Alegeti una din Universitatile de mai jos:</b>
</label>
<br/>
<label>
<input type="radio" name="radio" value="UBB">UBB
<span class="select"></span>
</label>
<br/>
<label>
<input type="radio" name="radio" value="UTCN">UTCN
<span class="select"></span>
</label>
<br/>
<label>
<input type="radio" name="radio" value="USAMV">USAMV
<span class="select"></span>
</label>
<br/>
<input type="submit" name="submit" value="Valori">
</form>
<?php
if(isset($_POST['submit'])){
if(!empty($_POST['radio'])) {
Pagina 15
echo ' ' . $_POST['radio'];
} else {
echo 'Alegeti valoare.';
}
}
?>
</div></body></html>
<!doctype html>
<html lang="ro">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1,
shrink-to-fit=no">
<title>Selectare multiplă în PHP</title>
</head>
<body>
<div class="container my-5">
<form action="" method="post" class="mb-3">
Pagina 16
<p><b>Alege una/mai multe din opțiunile următoare</b></p>
<p>
<select name="Fructe[]" multiple>
<option value="Mar">Mar</option>
<option value="Banana">Banana</option>
<option value="Ananas">Ananas</option>
<option value="Zemeura">Zmeura</option>
<option value="Capsuni">Capsuni</option>
</select>
</p>
<p>
<input type="submit" name="submit" value="Alege opțiuni">
</p>
</form>
<p>
<?php
echo "Rezultat selectie </br>";
if(isset($_POST['submit'])){
if(!empty($_POST['Fructe'])) {
foreach($_POST['Fructe'] as $selected){
echo ' ' . $selected;
}
} else {
echo 'Sa se selecteze o valuare.';
}
}
?>
</p></div></body></html>
Pagina 17
Pagina care colectează date (în biblioteca cu exerciții rezolvate
PB10_Form.php)
<html><head><title>un formular cu select</title></head>
<body>
<form action="PB10_FormRaspuns.php" method="POST">
<p><strong>Name:</strong><br>
<input type="text" name="user"></p>
<p> <strong>Adresa:</strong><br>
<textarea name="adresa" rows="5" cols="40"></textarea></p>
<p><strong>Selectati un produs:</strong></p>
<select name="produs[]" multiple>
<option value="casetofon">Casetofon</option>
<option value="CD">CD</option>
<option value="video">Video</option>
</select>
<p><input type="submit" value="send"></p>
</form></body></html>
Pagina 18
{
echo "<ul>";
foreach ($_POST['produs'] as $value){
echo "<li>$value";}
echo "</ul>";
}?>
</body>
</html>
Pagina 19
session_start();
$_SESSION['Nume2']="Pop";
$_SESSION['Prenume2']="Ioan";
$_SESSION['Varsta']=39;
?>
<a href="sesiune3.php">pagina spre care se trimit variabilele de sesi-
une</a>
</body>
</html>
Pagina 20
Exemplu 2.Să se creze un formular care să permită introducerea elevilor
într-un table aflat sub formular fără a utilize baze de date. (în biblioteca
cu exerciții rezolvate PB7_Sesiune_sgpag.php)
<?php
session_start();
if (isset($_POST['Inregistrare'])){
$_SESSION['nume'][]=$_POST['nume'];
$_SESSION['prenume'][]=$_POST['prenume'];
$_SESSION['nota1'][]=$_POST['nota1'];
$_SESSION['nota2'][]=$_POST['nota2'];
}
?>
<html>
<head><title>Situatie elevi</title></head>
<div id="Layer3" style="position:absolute; left:119; top:205;
width:881; height:739; z-index:2"
align="center">
<table width="665" border="0" cellpadding="5" cellspacing="0">
<caption valign="top">
<table width="660" bgcolor="#FFFF00" cellpadding=0 cellspacing=0
border=0>
<tr>
<td align="center" height="15">
<font size="5" color="#0000FF">
<b>DATE ELEVI </b> </font>
</td> </tr>
</table>
</caption>
<table cellpadding=5 cellspacing=0 border=0 width="75%">
<form method="post" action="PB7_Sesiune_sgpag.php">
Pagina 21
<tr><td> <font face="Courier" size="2">
<b>Nume:</b> </td> <td>
<input name="nume" size=20 maxlength=50>
</td> </tr> <tr> <td>
<b>Prenume:</b> </td> <td>
<input name="prenume" size=20 maxlength=50>
</td> </tr> <tr> <td>
<b>Nota la matematica:</b>
</td> <td>
<input name="nota1" size=20 maxlength=2>
</td> </tr> <tr> <td>
<b>Nota romana:</b>
</td><td>
<input name="nota2" size=20 maxlength=20>
</td> </tr> <tr> <td width="142">
<input type="submit" name="Inregistrare" value="Inregistrare">
</font> </form> </tr> </table>
<?php
if (isset($_POST['Inregistrare'])){
$nr_elevi=count($_SESSION['nume']);?>
<table cellpadding=5 cellspacing=0 border=0 width="75%">
<tr>
<th>Nume</th>
<th>Prenume</th>
<th>Nota matematica</th>
<th>Nota romana</th>
<th>Media</th>
</tr>
<?php
for ($i = 0; $i < $nr_elevi; $i++){ ?>
<tr>
Pagina 22
<td> <?php print $_SESSION['nume'][$i];?> </td>
<td> <?php print $_SESSION['prenume'][$i];?> </td>
<td> <?php print $_SESSION['nota1'][$i];?> </td>
<td> <?php print $_SESSION['nota2'][$i];?> </td>
<?php
$nr1=(int)($_SESSION['nota1'][$i]);
$nr2=(int)($_SESSION['nota2'][$i]);
$media=(($nr1+$nr2)/2);?>
<td><?php print $media;}}?></td></tr>
</table>
</body>
</html>
Pagina 23
Muncă individuală dedicată aprofundării conceptelor teoretice doban-
dite pana in acest punct
1. Calculați cifra de control a unui număr întreg prin însumarea cifrelor sale,
apoi însumând cifrele sumei, așa mai departe, până la o sumă de doar o cifră
obținută.
Exemplu: Cifra de control a numărului întreg 1971 este 9 (1971 = 18 =
9).
2. Imprimați toate puterile mai mici decât k dintr-un număr întreg dat n.
Exemplu: Pentru n = 5 și k = 100, tipăriți numerele 1, 5, 25.
3. Determinați cel mai mic număr care poate fi format cu cifrele unui număr
citit de la tastatură.
Exemplu: pentru numărul 30027 rezultatul este 20037.
4. Generați în ordine crescătoare primele n numere din setul M definit ca:
a. Numărul 1 aparține lui M
b. Dacă x aparține lui M, atunci 2x + 1 și 3x + 1 aparțin și lui M
c. M nu conține alte elemente
Exemplu: primele 10 numere din M sunt 1, 3, 4, 7, 9, 10, 13, 15, 19,
21.
Pagina 24
Exemplu: Pentru 1234, rezultatul este 13.
10. Citiți numerele care au cel puțin 2 cifre până când este dat numărul 0.
Imprimați câte numere au cifra unității mai mică decât cifra zecilor.
Exemplu: Dacă numerele citite sunt 25, 653, 2965, 211, 154, 1256, va fi
afișată 0 valoarea 3.
11. Un număr n este special dacă există un număr natural m astfel încât n =
m + S (m) unde S (m) este suma cifrelor lui m. Verificați dacă un număr dat
este special.
Exemplu: 1235 este special (1235 = 1225 + 10)
12. Imprimați numărul de cifre comune a două numere, precum și cifrele.
Exemplu: 21348 și 14513 au 3 cifre comune și sunt 1,3,4.
13. Imprimați numerele de n cifre egale cu k înmulțite cu produsul lor.
Se dau numerele n și k (n între 1 și 9, k între 1 și 1000).
Exemplu: Pentru n = 3 și k = 5 singurul număr care îndeplinește propri-
etățile solicitate este 175 (5 * (1 * 7 * 5)).
14. Dat fiind un număr natural n, determinați cel mai mare număr p având
proprietatea că 2 p este mai mic sau egal cu n.
Exemplu: Pentru n = 133, rezultatul este p = 7 (27 = 128, 28 = 256).
Pagina 25
4. Se citește un vector de numere întregi, de lungime n. Se cere:
a. Să se înlocuiască valoarea maxima a elementelor din vector cu inver-
sul sau. (Presupunem ca maximul este unic)
5. Se citeste un vector de numere întregi, de lungime n. Se cere:
a. Să se determine valoarea minimă a elementelor din vector.
b. Presupunând ca minimul nu este unic, înlocuiți fiecare apariție a ele-
mentului de valoare minima cu cifra sa maximă.
6. Se citește un vector de numere întregi, de lungime n și un număr întreg x.
Se cere:
a. Determinați dacă valoarea x se găsește în vector. Afișati mesajul DA
sau NU, după cum este cazul. (cautarea unei valori intr-un vector)
b. Determinați dacă TOATE elementele din vectorul v sunt divizibile cu
x. Afișați mesajul DA sau NU, dupa cum este cazul. (verificarea unei
proprietati pentru toate elementele din vector)
7. Verificați dacă toate elementele vectorului sunt numere:
a. Pare
b. Prime
c. Perfecte
d. Daca aparțin intervalului a,b
e. Daca sunt in ordine crescatoare/descrescatoare
Pagina 26