<h1>Zad 02.01</h1>
<p>Program liczacy pole okregu</p>
<form method=get>
Podaj promien okregu: <input type=text name=r size=5><br>
<input type=submit value=Oblicz>
</form>
<?php
if (isset($_GET['r'])){
$r=$_GET['r'];
if(isset($r) && $r!='' && is_numeric($r)&& $r>0) {
$p_k=M_PI*pow($r,2);
echo "<br><hr>Pole kola o promieniu $r wynosi:".round($p_k, 2);
} else
echo "Podaj r";
}
?>
<p>Program liczacy pole trojkata</p>
<form method=post>
Podaj dlugosc podstawy: <input type=text name=a size=5><br>
Podaj wysokosc trojkata: <input type=text name=h size=5><br>
if (isset($_POST['a'],$_POST['h'])){
$a=$_POST['a'];
$h=$_POST['h'];
if(isset($a,$h) && $a!='' && is_numeric($a)&& is_numeric($h)&& $a>0 && $h>0 && $h!='') {
$p_t=0.5*$h*$a;
echo "<br><hr>Pole trojkata o wysokosci $h i dlugosci podstawy $a wynosi:".round($p_t, 2);
echo "Podaj a i h";
<p>Kalkulator</p>
Wybierz typ Działania<br>
<input type=radio name=a value=plus>Dodawanie<br>
<input type=radio name=a value=minus>Odejmowanie<br>
<input type=radio name=a value=mnoz>Mnozenie<br>
<input type=radio name=a value=dziel>Dzielenie<br>
<br>Podaj pierwsza liczbe<input type=text name=x size=5><br>
<br>Podaj druga liczbe<input type=text name=y size=5><br>
if (isset($_POST['x'],$_POST['y'])){
$x=$_POST['x'];
$y=$_POST['y'];
if(isset($x,$y) && $x!='' && is_numeric($x)&& is_numeric($y)&& $x>0 && $y>0 && $y!='') {
switch ($a)
{
case 'plus' : $wynik=$x+$y;
echo "<br>Wynik dodawania liczb $x i $y wynosi:".round($wynik,2);
break;
case 'minus' : $wynik=$x-$y;
echo "<br> Wynik odejmowanie liczb $x i $y wynosi:".round($wynik,2);
case 'mnoz' : $wynik=$x*$y;
echo "<br> Wynik mnmozenia liczb $x i $y wynosi:". round($wynik,2);
case 'dziel' : $wynik=$x/$y;
echo "<br>Wynik dzielenia liczb $x i $y wynosi:". round($wynik,2);
default:
echo "Nic nie zostalo wybrane"; break;
echo " Podaj a i b";
Program rysujacy tabliczke mnozenia
<br> Podaj liczbe wierszy: <input type=text name=m size=5>
<br> Podaj liczbe kolumn: <input type=text name=n size=5>
<br><input type=submit>
<br>
$m=$_POST['m'];
$n=$_POST['n'];
echo "<table border=1>";
for ($i=1;$i<=$m; $i++) {
echo "<tr align=center>".$i;
for ($j=1;$j<=$n;$j++){
echo $j."<td align=center>".$i*$j."</td>";
echo "</tr>";
echo "</table>";
Program liczacy silnie
<br> Podaj liczbe <input type=text name=n size=5>
function sil($a){
if($a<=1) return 1;
else { ($silnia=$a*sil($a-1));
echo "<br>Silnia dla $a=$silnia";
return $silnia;
@$n=$_POST['n'];
if ($n>=0) {
echo "<br>$n!=".sil($n);
else echo "Podaj liczbe nieujemna";
-----------------------------------------------------------------------------------------------------------------------------------------------------
Program wypisujacy miasta
$t_m=array ("Krakow", "Warszawa", "Poznan");
$il=count($t_m);
for ($i=0;$i<$il;$i++){
echo "<br> ->".$t_m[$i];
echo "<br>Ilosc miast=$il";
Program wypisujacy miasta 2
$t_m=array ("PL"=>"Krakow", "FR"=>"Paryz","GB"=> "Londyn");
echo "Tabela zawiera $il elementow";
foreach ($t_m as $key=>$value)
echo "<br> ->$key -> $value";
echo "<hr>";
print_r($t_m);
echo $t_m;
Wyrazenia regularne
Adres email<input type=text name=txt size=10><br>
<input type=submit value=oblicz>
<?
@$txt=$_POST['txt'];
// przestarzala funkcja
//$wzor='^[0-9]{9}$';
//$spr=ereg($wzor,$txt);
// w preg_match jest inny wzor
$wzor='/^[a-zA-Z0-9.]+@[a-zA-Z0-9\-.]+\.[a-zA-Z]{2,4}$/';
$spr=preg_match($wzor,$txt);
if ($spr)
echo "$txt - to poprawny email";
else
echo "$txt - bledny email";
Operacje na plikach
Wpisz tekst:<input type=text name=a size=20><br>
<input type=submit value=zapisz>
$tresc=$_POST['a'];
$f=fopen("./cw02.txt","a+");
fprintf($f,"%s \n", $tresc);
readfile("./cw02.txt");
rewind($f);
$i=0;
while(!feof($f)) {
$line=fgets($f);
echo ++$i."->$line<br>";
fclose($f);
Komentarz z pseudonimem
Pseudonim:<input type=text name=a size=10><br>
Komentarz:<input type=text name=b size=20><br>
$f=fopen("./cw03.txt","a+");
$nick=$_POST['a'];
$tresc=$_POST['b'];
$data=date("d.m.Y H:i:s");
if(isset($nick,$tresc) && $nick!='' && $tresc!='')
fprintf($f,"%s|%s|%s\n",$data,$nick,$tresc);
//readfile("./cw03.txt");
list($a,$b,$c)=split('\|',$line);
echo "<br>$a";
echo "<br><b>$b</b>";
echo "<br>$c";
Zaokraglanie liczby
Podaj liczbe<input type=text name=a size=10><br>
Ilosc miejsc po przecinku<input type=text name=b size=5><br>
$f=fopen("./cw04.txt","a+");
$liczba=$_POST['a'];
$ilosc=$_POST['b'];
$liczba1=round($liczba, $ilosc);
if(isset($_POST['a'],$_POST['b']) && $liczba!='' && $ilosc!=''&& is_numeric($liczba) && is_numeric($ilosc))
fprintf($f,"%s zaokragl do%s => %s\n",$liczba,$ilosc,$liczba1);
readfile("./cw04.txt");
//while(!feof($f)) {
//$line=fgets($f);
//echo "<br>$a";
//echo "<br><b>$b</b>";
//echo "<br>$c";
//echo "<hr>";
//}
Tablice
//funkcja wypisuje elementy tablicy
function w_tab($tab){
foreach ($tab as $key => $value)
echo "Klucz : $key, wartosc: $value<br>";
$t_u=array("AGH" =>"Akademia Gorniczo Hutnicza", "UJ"=>"Uniwersytet Jagiellonski", "UP"=>"Uniwersytet Pedagogiczny");
//tworzenie tablicy z pojedynczych elementow
// $t_u["AGH"]="Akademia Gorniczo Hutnicza";
$t_u_liczba=array_values($t_u);
echo "Tablica z kluczem <br>";
w_tab($t_u);
echo "Tablica z kluczem liczbowym <br>";
w_tab($t_u_liczba);
$pozycja=array_search("Uniwersytet Pedagogiczny", $t_u_liczba);
echo "<br> Szukany ciag znajduje sie w poz: $pozycja";
------------------------------------------------------------------------------------------------------------------------------------------------
SESJA, Losowanie liczby
<?session_start();?>
<html>
<body>
Podaj liczbe:<input type=text size=5 name=a><br>
<input type=submit value=wyslij>
if($_SESSION['los']=='')
$_SESSION['los']=rand(0,10);
else $los=$_SESSION['los'];
echo "Numer sesji:<br> $los<br>";
if(isset($_POST['a']) && is_numeric($_POST['a'])){
$strzal=$_POST['a'];
if($strzal > $los) echo "$strzal to za duzo<br>";
elseif ($strzal <$los) echo "$strzal to za malo <br>";
else { echo "Szukana to $strzal";
session_destroy();
} else echo"Podaj liczbe";
LICZNIK
<?session_start();?> <html> <body> <h1>Licznik odwiedzin strony</h1> <? if($_SESSION['los']=='') { $_SESSION['los']=1; $f=fopen("./licznik.txt", "r+"); $licznik=fgets($f); $licznik=$licznik+1; fclose($f); $f=fopen("./licznik.txt", "w"); fprintf($f,"%s", $licznik); echo "Liczba odwiedzin strony to: $licznik"; fclose($f); } else { $f=fopen("./licznik.txt", "r"); $licznik=fgets($f); echo "Liczba odwiedzin strony to: $licznik"; fclose($f); } ?> </body> </html>
Wzorzec Znaczenie
. Dowolny znak (prócz znaku nowej linii)
\s Spacja (lub znak nowej linii)
\n Znak nowej linii
\d Cyfra
\D Każdy znak, który nie jest cyfrą
\w Słowo złożone z liter, cyfr i znaku podkreślenia
\W Słowo złożone z różnych znaków
{x,y} Co najmniej x, ale nie więcej niż y wystąpień poprzedzającego wzorca
{x,} Co najmniej x wystąpień poprzedzającego wzorca
{,y} Co najwyżej y wystąpień poprzedzającego wzorca
{x} Dokładnie x wystąpień poprzedzającego wzorca
? Zero lub jedno wystąpienie poprzedzającego wzorca. Równoważne z {0,1}
+ Jedno lub więcej wystąpień poprzedzającego wzorca. Równoważne z {1,}
* Zero, jedno lub więcej wystąpień poprzedzającego wzorca. Równoważne z {0,}
[] Zakres
() Podwyrażenie, grupowanie wzorców
^ Użyty na początku zakresu - negator. Użyty na początku wyrażenia - początek linii.
$ Koniec linii
|...
Matemmusi