86 lines
1.5 KiB
Markdown
86 lines
1.5 KiB
Markdown
Klar — hier ist der Inhalt als Markdown zum Kopieren:
|
|
|
|
```markdown
|
|
# Erklärung der PHP-Zeile
|
|
|
|
```php
|
|
$page = isset($_GET['page']) ? max(1, (int) $_GET['page']) : 1;
|
|
```
|
|
|
|
Die Zeile liest den URL-Parameter **`page`** aus und stellt sicher, dass die Seitennummer mindestens **1** ist.
|
|
|
|
## 1. Prüfen, ob `page` vorhanden ist
|
|
|
|
```php
|
|
isset($_GET['page'])
|
|
```
|
|
|
|
Prüft, ob in der URL ein Parameter `page` vorhanden ist.
|
|
|
|
Zum Beispiel:
|
|
|
|
```text
|
|
http://localhost/pfdb/?page=3
|
|
```
|
|
|
|
Dann enthält:
|
|
|
|
```php
|
|
$_GET['page'] // "3"
|
|
```
|
|
|
|
## 2. Umwandlung in eine Ganzzahl
|
|
|
|
```php
|
|
(int) $_GET['page']
|
|
```
|
|
|
|
wandelt den Wert in eine Ganzzahl (`int`) um.
|
|
|
|
## 3. Mindestwert 1
|
|
|
|
```php
|
|
max(1, (int) $_GET['page'])
|
|
```
|
|
|
|
stellt sicher, dass das Ergebnis **nicht kleiner als 1** wird.
|
|
|
|
## 4. Ternärer Operator
|
|
|
|
Der gesamte Ausdruck verwendet den sogenannten **ternären Operator**:
|
|
|
|
```php
|
|
Bedingung ? Wert_wenn_wahr : Wert_wenn_falsch
|
|
```
|
|
|
|
Ausgeschrieben entspricht die ursprüngliche Zeile ungefähr:
|
|
|
|
```php
|
|
if (isset($_GET['page'])) {
|
|
$page = max(1, (int) $_GET['page']);
|
|
} else {
|
|
$page = 1;
|
|
}
|
|
```
|
|
|
|
## Beispiele
|
|
|
|
| URL-Parameter | `$page` |
|
|
| ------------- | -------:|
|
|
| keiner | `1` |
|
|
| `?page=1` | `1` |
|
|
| `?page=5` | `5` |
|
|
| `?page=0` | `1` |
|
|
| `?page=-4` | `1` |
|
|
| `?page=abc` | `1` |
|
|
|
|
## Zweck
|
|
|
|
Das ist typisch für eine **Pagination/Seitennavigation**.
|
|
|
|
`$page` gibt also sehr wahrscheinlich an, welche Seite einer Ergebnisliste angezeigt werden soll.
|
|
|
|
```
|
|
|
|
```
|