Podstawowa składnia języka PHP
<?php
// Tu wpisujemy kod PHP
?>
Podstawowe funkcje PHP nie są wrażliwe na wiElKość znAkóW. Przykładowo możemy napisać coś takiego:
<!DOCTYPE html>
<html>
<body>
<?php
ECHO "Hello World!<br>";
echo "Hello World!<br>";
EcHo "Hello World!<br>";
?>
</body>
</html>
I w efekcie otrzymamy stronę o treści:
Hello World!
Hello World!
Hello World!
Jednakże gdy definiujemy i używamy zmiennych, należy zachować wielkość znaków:
<!DOCTYPE html>
<html>
<body>
<?php
$kolor = "czerwony";
echo "Mój kot jest " . $color . "<br>";
echo "Mój dom jest " . $COLOR . "<br>";
echo "Moja łódka jest " . $coLOR . "<br>";
?>
</body>
</html>
Mój kot jest czerwony
Mój dom jest
Moja łódka jest
Wyświetlanie danych
$assoc = array(
'jogurt' => '2 zł',
'maslo' => '1.50 zł',
'zapiekanka' => '4 zł',
'gazeta' => '5 zł'
);;
echo 'Tekst do wyświetlenia';
print 'Tekst do wyświetlenia';
// Print różni się od echo tym, że jeśli będzie "pusty", to zwróci 1,
// gdy echo nie zwróci niczego. Mówią, że echo jest nieco szybsze od print
print_r($assoc);
// Zwraca wartość w miarę przystępny dla człowieka sposób - szczególnie przydatne do tablic,
// gdzie zwykły print wyświetli tylko typ danej
var_dump($assoc);
// Zwraca typ danych oraz wartość
Typy danych
- String
- Integer
- Float (liczba zmiennoprzecinkowa - zwana także double)
- Boolean
- Array
- Object
- NULL
- Resource
Instrukcja warunkowa
warunek ? instrukcja jeśli zwraca true : jeśli zwraca false;
if (warunek) {
instrukcja;
} else {
instrukcja;
}
if (warunek) {
instrukcja;
} else if (warunek) {
instrukcja;
} else {
instrukcja;
}
Komentarze
// Komentarz liniowy
# To też jest komentarz liniowy
/* Komentarz
blokowy
wieloliniowy
*/
/* Komentarz
* używany do
* dokumentacji
*/
Formluarze - $_GET, $_POST
<html>
<body>
<form action="witaj.php" method="post">
Imię: <input type="text" name="name"><br> <!-- Zwróć uwagę na atrybuty name -->
E-mail: <input type="text" name="email"><br>
<input type="submit">
</form>
</body>
</html>
Plik welcome.php
<html>
<body>
Witaj, <?php echo $_POST["name"]; ?><br>
Twój adres mailowy to: <?php echo $_POST["email"]; ?>
</body>
</html>
I to, co wyświetla welcome.php:
Witaj, Jan
Twój adres mailowy to: [email protected]
Obsługa formularzy z polami wszelkiego typu
Jedyne co trzeba pamiętać, to to, że każde pole formularza zwraca string. Jeżeli chcemy odpowiednio na nich operować, musimy wykonać konwersję typu danych.
Do zmiany typu danych można użyć funkcji settype($zmienna, 'typ danej (np. int, float, str)')
Pętle
while
<!DOCTYPE html>
<html>
<body>
<?php
$x = 1;
while($x <= 5) {
echo "Numer: $x <br>";
$x++;
}
?>
</body>
</html>
Numer: 1
Numer: 2
Numer: 3
Numer: 4
Numer: 5
do...while
<!DOCTYPE html>
<html>
<body>
<?php
$x = 1;
do {
echo "Numer: $x <br>";
$x++;
} while ($x <= 5);
?>
</body>
</html>
Numer: 1
Numer: 2
Numer: 3
Numer: 4
Numer: 5
Różnica między while a do...while polega na tym, że przy:
while- aby pętla się wykonała, warunek musi zostać spełnionydo...while- pętla wykona się co najmniej 1 raz. Aby wykonane zostały kolejne pętle, warunek musi zostać spełniony
for
<!DOCTYPE html>
<html>
<body>
<?php
for ($x = 0; $x <= 10; $x++) {
echo "Numer: $x <br>";
}
?>
</body>
</html>
Numer: 0
Numer: 1
Numer: 2
Numer: 3
Numer: 4
Numer: 5
Numer: 6
Numer: 7
Numer: 8
Numer: 9
Numer: 10
foreach
Pętla przydatna do obsługi tablic asocjacyjnych
<?php
$kolory = array("czerwony", "zielony", "niebieski", "żółty");
foreach ($kolory as $wartosc) {
echo "$wartosc <br>";
}
?>
czerwony
zielony
niebieski
żółty
"Oczyszczanie" danych z formularzy
htmlspecialchars()
<?php
$str = "This is some <b>bold</b> text.";
echo htmlspecialchars($str);
?>
<!DOCTYPE html>
<html>
<body>
This is some <b>bold</b> text.
</body>
</html>
trim()
W obsłudze formularzy - usuwa spacje omyłkowo wpisane przez użytkownika
Ogólnie - czyści napis z określonych znaków z lewej i prawej strony
<?php
$str = " Witaj Świecie! ";
echo $str . "<br>";
echo trim($str," ");
?>
Witaj Świecie!
Witaj świecie!
stripslashes()
<!DOCTYPE html>
<html>
<body>
<?php
echo "Who\'s Peter Griffin?";
echo stripslashes("Who\'s Peter Griffin?");
?>
</body>
</html>
<!DOCTYPE html>
<html>
<body>
Who\'s Peter Griffin?
Who's Peter Griffin?
</body>
</html>
Zmienna $_SERVER
REQUEST_METHOD
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// wyświetli dane z formularza tylko wtedy, gdy metodą przesyłania danych będzie POST
$name = $_REQUEST['fname']; // Następnie wypisuje dane na podstawie wcześniej określonej metody
if (empty($name)) {
echo "Niczego nie wpisano w pole Imię";
} else {
echo $name;
}
}
?>
PHP_SELF
Zwraca ścieżkę do aktualnie wykonywanego skryptu PHP