PHP, eine der beliebtesten Programmiersprachen in der Webentwicklung, bietet bequeme Werkzeuge für die Interaktion mit dem Benutzer. Die Tastatur ist eines der wichtigsten Geräte, mit dem der Benutzer Daten eingeben kann. In diesem Artikel werden wir verschiedene Möglichkeiten zur Eingabe von Tastaturdaten in PHP untersuchen und Beispiele für die Verwendung in Ihren Projekten bereitstellen.
Funktion readline()
Um benutzerdefinierte Tastatureingaben in PHP zu lesen, können wir die Funktion verwenden readline(). Mit dieser Funktion können Sie die vom Benutzer eingegebene Zeichenfolge lesen und in einer Variablen speichern.
Beispiel für die Verwendung der readline() -Funktion:$name = readline("Geben Sie Ihren Namen ein: ");
echo "Hallo, " . $name;
In diesem Beispiel rufen wir zuerst die Funktion readline() auf und übergeben ihr eine Eingabeaufforderungszeichenfolge an den Benutzer. Der vom Benutzer eingegebene Wert wird dann in der Variablen $name gespeichert. Schließlich geben wir die Begrüßung mit dem Echo-Operator aus und verketten sie mit dem eingegebenen Namen.
Grundlagen der Dateneingabe in PHP
PHP bietet verschiedene Möglichkeiten zur Eingabe von Daten über die Tastatur. In diesem Abschnitt werden wir uns einige Methoden ansehen.
Daten aus einem Formular lesen
Die gebräuchlichste Art, Daten in PHP einzugeben, besteht darin, Daten aus HTML-Formularen zu lesen. Dazu müssen Sie ein HTML-Formular erstellen, das ein Eingabefeld (input) und eine Schaltfläche zum Senden des Formulars (button) enthält. Die in das Eingabefeld eingegebenen Daten können dann mit der superglobalen Variablen $_POST in PHP abgerufen werden.
Ein Beispiel:
In diesem Beispiel gibt der Benutzer seinen Namen in das Eingabefeld ein und klickt dann auf die Schaltfläche Senden. Der eingegebene Name wird in PHP in der Variablen $name gespeichert und mit einer Begrüßung angezeigt.
Lesen von Daten über die Befehlszeile
Mit PHP können Sie auch Tastaturdaten direkt von der Befehlszeile aus lesen. Dazu können Sie die integrierten Funktionen readLine() und fscanf() verwenden. Die Funktion readLine() liest eine Zeichenfolge von der Tastatur und die Funktion fscanf() liest die Werte von Variablen, die durch Leerzeichen getrennt sind.
Ein Beispiel:
In diesem Beispiel fordert das Programm den Benutzer auf, seinen Namen einzugeben. Nachdem Sie einen Namen eingegeben haben, wird er in der Variablen $name gespeichert und mit einer Begrüßung angezeigt.
Lesen von Daten aus einer URL
PHP kann auch Daten aus einer URL mit der superglobalen Variablen $_GET lesen. Dazu müssen Sie in der URL einen Parameter und dessen Wert angeben, getrennt durch ein Gleich-Zeichen.
URL: http://example.com/?name=John
In diesem Beispiel wird der Name "John" von einer URL an PHP übergeben. Es wird in der Variablen $name gespeichert und mit einer Begrüßung angezeigt.
Lesen von Daten mit der Funktion fgets()
Die Syntax der Funktion fgets() lautet wie folgt:
fgets($handle, $length)
- $handle - ein Dateizeiger, der eine geöffnete Datei oder einen Stream darstellt
- $length - ein optionaler Parameter, der die maximale Länge einer Zeichenfolge angibt, die gelesen werden kann. Der Standardwert ist 8192 Zeichen
Die Funktion fgets() gibt die gelesene Zeichenfolge zurück oder false, wenn das Ende der Datei erreicht ist.
Beispiel für die Verwendung der Funktion fgets() zum Lesen von Tastaturdaten:
$handle = fopen("php://stdin", "r");echo "Введите ваше имя: ";$name = fgets($handle);echo "Введите ваш возраст: ";$age = fgets($handle);echo "Привет, " . $name . "! Тебе " . $age . " лет.";fclose($handle);
In diesem Beispiel öffnen wir mit der Funktion fopen() den Standardeingabefluss (Tastatur) zum Lesen. Verwenden Sie dann die Funktion fgets(), um den Benutzernamen und sein Alter zu lesen. Am Ende geben wir eine Begrüßung aus und schließen den Dateizeiger mit der Funktion fclose().
Daten aus einem Formular lesen
Sie können das $_POST-Array verwenden, um die vom Benutzer über ein PHP-Formular eingegebenen Daten zu lesen. Dieses Array enthält alle Werte, die in Formularfelder eingegeben und mit der POST-Methode an den Server gesendet wurden.
Um den Wert eines bestimmten Feldes abzurufen, müssen Sie auf das Array-Element $_POST mit dem Schlüssel verweisen, der dem Feldnamen entspricht. Wenn das Feld beispielsweise den Namen "username" hat, kann der Wert wie folgt abgerufen werden:
$username = $_POST['username'];
Wenn im $_POST-Array kein Feld mit diesem Namen vorhanden ist, wird null in der Variablen $username gespeichert.
Neben dem $_POST-Array gibt es auch ein $_GET-Array, das die an den Server übergebenen Werte mit der GET-Methode enthält. Sie können einen ähnlichen Ansatz verwenden, um Daten aus diesem Array abzurufen.
Normalerweise wird die Verwendung der POST-Methode zum Übertragen vertraulicher Informationen (z. B. Kennwörter) empfohlen, während die GET-Methode zum Übertragen von nicht sensiblen Daten wie Filtern oder Suchparametern empfohlen wird.
Neben den Arrays $_POST und $_GET gibt es auch die Arrays $_REQUEST und $_SERVER, die zusätzliche Informationen zur Anfrage enthalten. Die Verwendung dieser Arrays wird jedoch aus Sicherheitsgründen nicht empfohlen.
Verarbeitung der eingegebenen Daten
Wenn ein Benutzer Tastaturdaten in PHP eingibt, können diese Daten zur weiteren Verarbeitung an den Server gesendet werden. In diesem Abschnitt erfahren Sie, wie Sie die eingegebenen Daten verarbeiten und im folgenden Code verwenden können.
Nachdem die Daten vom Benutzer eingegeben wurden, können wir sie mit dem superglobalen Array $_POST oder $_GET abrufen, abhängig von der im Formular angegebenen Methode. Sie können beispielsweise den folgenden Code verwenden, um den Wert eines Eingabefeldes abzurufen:
$name = $_POST['name'];
In diesem Beispiel erhalten wir den Wert der Variablen 'name', die über eine POST-Anfrage übergeben wurde. Als nächstes können wir diesen Wert in unserem Code verwenden, um ihn beispielsweise in einer Datenbank zu speichern oder um ihn auf einer Seite auszugeben.
Bevor Sie die eingegebenen Daten verwenden, sollten Sie sie immer auf Sicherheit überprüfen. Die vom Benutzer eingegebenen Daten können bösartigen Code enthalten oder falsch sein. Sie können PHP-Funktionen verwenden, um die Daten zu validieren, z. B. htmlspecialchars() oder strip_tags() um mögliche Schwachstellen zu vermeiden.
Um beispielsweise zu verhindern, dass schädlicher Code in die Variable 'name' eingefügt wird, können Sie den folgenden Code verwenden:
$name = htmlspecialchars($_POST['name'], ENT_QUOTES, 'UTF-8');
In diesem Beispiel verwenden wir die Funktion htmlspecialchars() um Sonderzeichen in HTML-Entitäten zu konvertieren. Auf diese Weise schützen wir uns vor möglichen XSS-Angriffen.
Sie können auch zusätzliche Validierungen durchführen, um sicherzustellen, dass der Benutzer die Daten korrekt eingegeben hat. Sie können beispielsweise überprüfen, ob die eingegebene E-Mail-Adresse das richtige Format hat, indem Sie die Funktion verwenden filter_var():
if (filter_var($email, FILTER_VALIDATE_EMAIL))
echo "Die E-Mail-Adresse ist korrekt";
> else
echo "Die E-Mail-Adresse ist falsch";
In diesem Beispiel verwenden wir die Funktion filter_var() um zu überprüfen, ob der Wert der Variablen 'email' dem Format der E-Mail-Adresse entspricht. Wenn das Format korrekt ist, wird die Meldung "E-Mail-Adresse ist korrekt" angezeigt, andernfalls wird die Meldung "E-Mail-Adresse ist falsch" angezeigt.
Daher ist die Verarbeitung von Tastatureingaben in PHP eine wichtige Aufgabe. Sie müssen diese Daten nicht nur abrufen, sondern sie auch auf Sicherheit und korrekte Eingabe überprüfen. Nur in diesem Fall können Sie sicherstellen, dass die vom Benutzer eingegebenen Daten im späteren Code korrekt verwendet werden.
Überprüfen der Eingaben auf Korrektheit
PHP bietet viele Funktionen und Methoden zum Validieren und Validieren von Daten. Die häufigste Aufgabe besteht darin, die Formulardaten zu überprüfen. Wenn Sie sich beispielsweise für einen Benutzer registrieren, müssen Sie sicherstellen, dass sein Name und sein Kennwort bestimmte Anforderungen erfüllen.
Betrachten wir einige Beispiele für die Validierung von Eingaben auf Korrektheit:
-
Prüfen auf einen leeren Wert:
$name = $_POST['name'];if (empty($name))
$name = $_POST['name'];if (!preg_match("/^[a-zA-Z]+$/", $name))
$email = $_POST['email'];if (!filter_var($email, FILTER_VALIDATE_EMAIL))
$ip = $_POST['ip'];if (!filter_var($ip, FILTER_VALIDATE_IP))
Alle diese Beispiele zeigen die grundlegenden Techniken zur Überprüfung der Daten auf Korrektheit. Jedoch kann jede Situation ihren eigenen Ansatz und zusätzliche Kontrollen erfordern. Denken Sie daran, dass die vom Benutzer eingegebenen Daten immer falsch sind oder schädlichen Code enthalten können. Daher ist die Validierung von Daten ein wesentlicher Bestandteil der Entwicklung sicherer Anwendungen.