Formulardaten mit Superglobals auslesen
Greifen Sie über die Arrays _GET und _POST auf Formularfelder zu.
Formulardaten mit Superglobals auslesen ist eine kostenlose PHP Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des PHP Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der PHP Academy-Kurs umfasst insgesamt 4 Lektionen.
PHP-Superglobals
Superglobals sind in PHP integrierte Arrays, die in allen Gültigkeitsbereichen verfügbar sind — Sie benötigen in Funktionen kein global, um auf sie zuzugreifen.
Formularbezogene Superglobals: $_GET, $_POST, $_FILES, $_REQUEST
Auf $_POST-Felder zugreifen
Lesen Sie POST-Formularwerte über den Zugriff auf Array-Schlüssel mit einem Standardwert:
<?php
// Safe access with null coalescing
$username = $_POST['username'] ?? '';
$email = $_POST['email'] ?? '';
$age = (int) ($_POST['age'] ?? 0);
var_dump($username, $email, $age);Auf $_GET-Parameter zugreifen
Lesen Sie URL-Query-String-Parameter aus $_GET:
<?php
// URL: /products.php?category=electronics&page=2&sort=price
$category = $_GET['category'] ?? 'all';
$page = max(1, (int) ($_GET['page'] ?? 1));
$sort = in_array($_GET['sort'] ?? '', ['price', 'name', 'date'])
? $_GET['sort']
: 'name';
echo "Category: $category, Page: $page, Sort: $sort";Checkboxen verarbeiten
Nicht ausgewählte Checkboxen werden NICHT übermittelt — prüfen Sie immer mit isset oder ??:
<?php
// HTML: <input type="checkbox" name="newsletter">
$wantsNewsletter = isset($_POST['newsletter']);
// or:
$wantsNewsletter = ($_POST['newsletter'] ?? null) !== null;
echo $wantsNewsletter ? 'Subscribed' : 'Not subscribed';Arrays aus Mehrfachauswahl und Checkboxen
Verwenden Sie name-Attribute im Array-Format, um mehrere Werte zu erfassen:
<!-- HTML -->
<!-- <input type="checkbox" name="tags[]" value="php"> -->
<!-- <input type="checkbox" name="tags[]" value="mysql"> -->
<?php
$tags = $_POST['tags'] ?? [];
if (!is_array($tags)) $tags = [];
foreach ($tags as $tag) {
echo htmlspecialchars($tag) . PHP_EOL;
}$_SERVER-Informationen
$_SERVER stellt Daten zur Server- und Request-Umgebung bereit:
<?php
echo $_SERVER['REQUEST_METHOD']; // GET or POST
echo $_SERVER['REQUEST_URI']; // /page.php?foo=bar
echo $_SERVER['HTTP_HOST']; // example.com
echo $_SERVER['REMOTE_ADDR']; // client IP
echo $_SERVER['HTTP_USER_AGENT']; // browser stringfilter_input()
filter_input() liest und bereinigt Superglobal-Werte in einem Schritt:
<?php
// Retrieve and validate an integer from POST
$age = filter_input(INPUT_POST, 'age', FILTER_VALIDATE_INT);
if ($age === false) {
echo 'Invalid age';
}
// Retrieve and sanitize a string from GET
$name = filter_input(INPUT_GET, 'name', FILTER_SANITIZE_SPECIAL_CHARS);
echo $name;filter_var() zur Validierung
Validieren und bereinigen Sie Werte, die sich bereits in Variablen befinden:
<?php
$email = 'user@example.com';
$ip = '192.168.1.1';
$url = 'https://example.com';
var_dump(filter_var($email, FILTER_VALIDATE_EMAIL)); // string
var_dump(filter_var($ip, FILTER_VALIDATE_IP)); // string
var_dump(filter_var($url, FILTER_VALIDATE_URL)); // stringFILTER_SANITIZE vs FILTER_VALIDATE
Zwei Modi von filter_var:
FILTER_VALIDATE_*— gibt den Wert zurück, wenn er gültig ist, andernfalls falseFILTER_SANITIZE_*— entfernt oder kodiert gefährliche Zeichen und gibt den bereinigten Wert zurück
$_FILES verarbeiten
$_FILES enthält Metadaten zu hochgeladenen Dateien — jede Datei verfügt über fünf Schlüssel:
<?php
if (isset($_FILES['avatar'])) {
$file = $_FILES['avatar'];
echo $file['name']; // original filename: photo.jpg
echo $file['type']; // MIME type: image/jpeg
echo $file['size']; // bytes: 45231
echo $file['tmp_name']; // temp path on server
echo $file['error']; // 0 = no error
}Muster zur Verarbeitung des gesamten Formulars
Ein übersichtliches Muster zur Verarbeitung einer Formularübermittlung mit Validierung:
<?php
$errors = [];
$name = '';
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$name = trim($_POST['name'] ?? '');
if (empty($name)) {
$errors[] = 'Name is required';
}
if (empty($errors)) {
// process...
header('Location: /thanks.php');
exit;
}
}Kurze Überprüfung
Was sendet eine nicht ausgewählte Checkbox an den PHP-Server?
Zusammenfassung: Superglobals
Wichtige Superglobals für Formulare:
$_GET— URL-Parameter$_POST— Request-Body$_FILES— Informationen zu hochgeladenen Dateien$_SERVER— Server- und Request-Umgebung- Verwenden Sie
??für den sicheren Zugriff mit einem Standardwert - Verwenden Sie
filter_input()zum kombinierten Abrufen und Validieren
Häufig gestellte Fragen
Ist die Lektion „Formulardaten mit Superglobals auslesen“ kostenlos?
Ja — der vollständige Text von „Formulardaten mit Superglobals auslesen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des PHP Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der PHP Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Formulardaten mit Superglobals auslesen“?
Greifen Sie über die Arrays _GET und _POST auf Formularfelder zu. Du übst PHP Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um PHP Academy zu starten?
Keine Vorkenntnisse erforderlich. PHP Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.
Wie lange dauert die Lektion „Formulardaten mit Superglobals auslesen“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser PHP Academy-Lektion Code schreiben und ausführen?
Ja. Jede PHP Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- GET vs. POST: Wann Sie welche Methode verwenden
- Formulardaten mit Superglobals auslesen
- Techniken zur Eingabevalidierung
- Benutzereingaben bereinigen