Obraz zawierający tekst, Czcionka, Grafika

Opis wygenerowany automatycznie 

Kierunek Informatyka

 

Instrukcja do ćwiczeń laboratoryjnych nr:

3

Nazwa przedmiotu:
Nowoczesne techniki programowania 

  Temat PHP 

Tryb studiów: stacjonarny

Czas trwanie ćw.

2x45 min

Autor materiałów: dr Marcin Skuba

 

1. Treści programowe: 

PHP, programowanie skryptów wykonywanych po stronie serwera.

 

2. Cel zajęć:

Celem zajęć jest opanowanie podstawowych umiejętność programowania w języku PHP. Deklaracja zmiennych, operacje arytmetyczno logiczne, deklaracja funkcji, tablice i inne. Przekazywanie wartości z formularzy do serwera i z serwera na stronę www.

 

3. Materiały dydaktyczne

PHP to język programowania wykorzystywany na stronach WWW po stronie serwera.

 

Link do pełnej dokumentacji https://www.w3schools.com/php/default.asp

Uruchomienie lokalnego serwera Apache i MySQL

 

 

Strona powinna zostać zapisana w folderze aplikacji XAMPP np. C:\xampp\htdocs\moja_strona

Jeśli plik ma nazwę index.php możemy taką stronę uruchomić podając w polu adresu przeglądarki tylko nazwę folderu

 

       

 

Jeśli nawa pliku będzie inna należy go wpisać, np.:

            localhost/moja_strona/nazwa_pliku.php

 

Przykład ulokowania

<!DOCTYPE html>
<html>
<body>
     <?php
           
echo "Mój pierwszy skrypt PHP”;
     ?>
</body>
</html>

 

Operatory arytmetyczne:

Operator

Name

Example

Result

+

Dodawanie

$x + $y

Suma $x i $y

-

Odejmowanie

$x - $y

Różnica $x i $y

*

Mnożenie

$x * $y

Iloczyn $x i $y

/

Dzielenie

$x / $y

Iloraz $x i $y

%

Modulo

$x % $y

Modulo $x  $y

**

Potęgowanie

$x ** $y

Liczba $x podniesiona do $y potęgi

 

Operatory porównania:

Operator

Name

Example

Result

==

Equal

$x == $y

zwraca true jeśli $x jest równe $y

===

Identical

$x === $y

zwraca true jeśli $x jest równe $y, oraz róne są typy

!=

Not equal

$x != $y

zwraca true jeśli $x jest różne od $y

<> 

Not equal

$x <> $y

zwraca true jeśli $x jest różne od $y

!==

Not identical

$x !== $y

zwraca true jeśli $x nie jest równe $y, lub są różne tytpy

> 

Greater than

$x > $y

zwraca true jeśli $x jest większe od $y

< 

Less than

$x < $y

zwraca true jeśli $x jest mniejsze od $y

>=

Greater than or equal to

$x >= $y

zwraca true jeśli $x jest większe lub róne $y

<=

Less than or equal to

$x <= $y

zwraca true jeśli $x jest mniejsze lub równe $y

<=>

Spaceship

$x <=> $y

Zwraca liczbę całkowitą mniejszą, równą lub większą od zera, w zależności od tego, czy $x jest mniejsze, równe lub większe niż $y. Wprowadzone w PHP 7.

 

 

Deklaracja zmiennych (brak typów)

$txt = "Hello world!";       //przypisanie wartości tekstowej
$x = 5;                                   // przypisanie wartości całkowitej
$y = 10.5;                             // przypisanie wartości zmienno-przecinkowej

 

 

Wyświetlanie wartości zmiennych na stronie

$txt = "Wojtek";

echo "Cześć $txt!";

       lub

$txt = "Wojtek";

echo "Cześć " .$txt . "!";

 

Funkcja zwracająca typ oraz wartość

$x = 5985;
var_dump($x);       /int(5985)

 

Rzutowanie typów:

// Rzutowanie float to int

$x = 12345.876;

$int_cast = (int)$x;

echo $int_cast;

 

// Rzutowanie string to int

$x = "12345.876";

$int_cast = (int)$x;

echo $int_cast;

 

 

Definicja stałej

  $r=2;

  define("pi", 3.14);

  $pole = 4*pi*$r**2;

  echo "pole=".$pole;

 

Instrukcja warunkowa if

if (condition) {
    //kod wykonywany gdy warunek jest prawdziwy
} else {
    kod wykonywany gdy warunek jest fałszywy
}

 

            Przykład:

$godzina= date("H");

if ($godzina < "18") {

    echo "Dzień dobry!";

} else {

    echo "Dobry wieczór!";

}

 

Instrukcja warunkowa switch-case

switch (n) {
    case 1:
        // kod wykonywany gdy n=1;
        break;
    case 2:
        // kod wykonywany gdy n=2;
        break;
    case 3:
         // kod wykonywany gdy n=3;
        break;
    ...
   
default:
        code to be executed if n is different from all labels;
}

 

Petla while

while (condition is true) {
    // wykonywany kod
}

 

            Przykład:

while($x <= 5) {
    echo 
"The number is: $x <br>";
    $x++;
}

 

Petla do-while

do {
    code to be executed;
} while (condition is true);

 

            Przykład:

do {
    echo 
"The number is: $x <br>";
    $x++;
} while ($x <= 
5);

 

Pętla for

for (init counter; test counter; increment counter) {
    code to be executed;
}

 

            Przykład:

for ($x = 0; $x <= 10; $x++) {
    echo 
"The number is: $x <br>";
}

 

Pętla foreach

foreach ($array as $value) {
    code to be executed;
}

           

            Przykład:

$colors = array("red""green""blue""yellow");
foreach ($colors as $value) {
    echo 
"$value <br>";
}

 

Funkcje

function functionName() {
    code to be executed;
}

 

Przykład deklaracji i wywołania funkcji niezwracającej i niepobierającej wartości:

function writeMsg() {
    echo 
"Hello world!";
}
writeMsg(); 
// wywołanie funkcji

 

Przykład deklaracji i wywołania funkcji pobierającej wartości oraz niezwracającej wartości:

function ustawImie($fname) {

    echo "Cześć $fname<br>";

}

 

ustawImie("Jan");

ustawImie("Janina");

ustawImie("Wojtek");

 

Przykład deklaracji i wywołania funkcji pobierającej wartości i zwracającą wynik

 

function dodcaj(int $a, int $b) {
    return $a + $b;
}

echo dodaj (55);                          // 10

echo dodaj (5, “5”);                      // 10
echo dodaj (5"5 days");             // 10

 

            przykład funkcji zwracającej wartość określonego typu:

function dodaj(float $a, float $b) : int {
    return (
int)($a + $b);
}
echo dodaj(
1.25.2);                    // 6

 

 

Tablice

$cars = array("Volvo", "BMW", "Toyota");

echo "Lubię " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . ".<br>";

$cars[3]="Fiat";

 

foreach ($cars as $value) {

    echo "$value <br>";

}

 

Formularze

            Wysyłanie danych

<html>
   <body>
      <form action="witam.php" method="post">
        Name: 
<input type="text" name="name"><br>
        E-mail: 
<input type="text" name="email"><br>
       <input type="submit" value="wyślij">
    </form>
</body>
</html>

 

Odbieranie danych (w pliku witam.php)

<html>
   <body>
      Witam
<?php echo $_POST["name"]; ?><br>
      Twój adres email:
<?php echo $_POST["email"]; ?>
  
</body>
</html>

 

Przekazywanie wartości z php do javascript

 

<div id="element" style="color: red;"></div>

<script>

            var srednia =  "<?=$zmienna_php ?>"

   document.getElementById("element").innerHTML=srednia;

</script>

 

            Przykład wykorzystania zmiennej sesyjnej oraz przekierowanie do innej strony

 

Plik witaj.php

 

Plik index.php

 

Pobieranie danych z bazy danych

           

            Przykładowa baza danych o nazwie „firma”

 

            Przykład pliku php, z którego zostanie wysłana prośba o pobranie danych z bazy danych index.php

 

<!DOCTYPE HTML>

<HTML lang="pl">

<head>

</head>

<body>

<center>

            <form action="select_datebase.php" method="post">

                        Podaj id pracownika:

                        <input type="text" name="id"/>

                        <input type="submit" value="Pobierz rekord z bazy danych"/>

            </form>

</center>

</body>

</html>

 

            Przykład pliku "select_datebase.php" zawierającego skrypt połącznia z bazą i pobrania imienia i nazwiska pracownika o wskazanym id

 

<?php

            $id = $_POST['id'];

            $host="localhost";

            $bd_user="root";

            $bd_password="";

            $bd_name="firma";

 

            $con = @mysqli_connect($host, $bd_user, $bd_password, $bd_name );

           

            if($con){

                        $sql = "SELECT * FROM pracownicy WHERE id=".$id;

                        mysqli_query($con,"SET CHARSET utf8");

                        mysqli_query($con,"SET NAMES 'utf8' COLLATE 'utf8_general_ci'");

                        $result = mysqli_query($con, $sql);

                                  

                        $wiersz=mysqli_fetch_assoc($result);

                        $imie=$wiersz['imie'];

                        $nazwisko=$wiersz['nazwisko'];

                        echo "rekord: ".$imie." ".$nazwisko;

                       

                        mysqli_close($con);

            }

            else{

                        echo "connection not success!";

            }

?>

 

Zadania

 

Zadanie 1.

Napisz skrypt php dodający dwie liczby wprowadzone w pole tekstowe oraz wyświetlający wynik w nowej stronie. Skrypt powinien się wykonać w momencie naciśnięcia przycisku z etykietą „Dodaj”.

 

Zadanie 2.

Napisz skrypt wyświetlający na stronie tekst „Nowoczesne techniki programowania” tyle razy ile zostanie podane w polu tekstowym.

 

Zadanie 3.

Napisz skrypt php dodający dwie liczby wprowadzone w pole tekstowe oraz wyświetlający wynik na tej samej stronie, pod formularzem. Wynik powinien być wyświetlony jako tekst wielkości 30 pikseli w kolorze czerwonym.  Skrypt wykona się w momencie naciśnięcia przycisku z etykietą „Dodaj”.

 

Zadanie 4.

Napisz skrypt, który pobiera dane z bazy danych oraz wyświetla je na stronie internetowej. Dane w bazie powinny dotyczyć produktów w sklepie (id, nazwa, cena ). Utwórz bazę oraz dodaj kilka przykładowych rekordów. Na stronie głównej umieść formularz umożliwiający wpisanie identyfikatora towaru, który ma zostać wyszukany w bazie i wyświetlony na stronie.

 

Zadanie 5. (opcjonalnie)

Napisz program wg własnego pomysłu wykorzystujący zmienne sesyjne.