Aktueller Standort: Startseite> Neueste Artikel> Säubern Sie die vom Benutzer eingereichten Formulardaten

Säubern Sie die vom Benutzer eingereichten Formulardaten

M66 2025-05-14

In der Webentwicklung ist die Reinigung und Überprüfung der Formulardaten ein wichtiger Schritt, um die Datensicherheit und -genauigkeit zu gewährleisten. Die Funktion von PHP von Array_filter bietet uns eine einfache und effiziente Möglichkeit, Elemente in einem Array zu filtern. Durch die Kombination von Array_filter- und benutzerdefinierten Rückruffunktionen können wir die vom Benutzer übermittelten Formulardaten bereinigen und vor dem Verarbeitung der Daten überprüfen.

1. Einführung in die Funktion array_filter

Die Funktion array_filter wird verwendet, um Elemente in einem Array zu filtern und ein neues Array zurückzugeben, das von der Rückruffunktion getestete Elemente enthält. Die grundlegende Syntax ist wie folgt:

 array_filter(array $array, ?callable $callback = null, int $mode = 0): array
  • $ Array : Das Eingabearray zum Filter.

  • $ Rückruf : Eine Rückruffunktion zum Filtern von Array -Elementen. Wenn die Rückruffunktion nicht bereitgestellt wird, werden Elemente mit dem Wert falsch (z. B. 0 , Null , False , leerer Zeichenfolge " usw.) standardmäßig gelöscht.

  • $ modus : Geben Sie die Filtermethode an. Normalerweise müssen Sie es nicht festlegen. Verwenden Sie einfach den Standardwert 0 .

2. Verwenden Sie Array_Filter , um die Formulardaten zu reinigen

Angenommen, wir haben ein Formular, in dem der Benutzer Informationen wie Benutzername, E -Mail und Handynummer eingereicht hat. Wir möchten diese Daten bereinigen und unnötige Räume oder illegale Zeichen entfernen.

Beispielcode:

 <?php
// Benutzernde Daten
$formData = [
    'username' => ' john_doe ',
    'email' => ' john.doe@m66.net ',
    'phone' => ' 123-456-7890 ',
    'address' => '  '
];

// Datenfunktionen aufräumen:Entfernen Sie Räume und illegale Zeichen
$cleanData = array_map('trim', $formData);

// Die gereinigten Daten ausgeben
print_r($cleanData);
?>

Im obigen Code entfernt array_map ('trim', $ formData) die Leerzeichen vor und nach jedem Feldfeld . Wenn Sie die Daten weiter reinigen und überprüfen möchten, können Sie Array_filter verwenden, um Felder zu entfernen, die den Anforderungen nicht entsprechen.

3.. Verwenden Sie Array_filter zur Datenüberprüfung

Das Überprüfen von Formdaten ist ein kritischer Schritt, um sicherzustellen, dass sie den Anforderungen entsprechen. Zum Beispiel möchten wir sicherstellen, dass der Benutzername keine Leerzeichen hat, das E -Mail -Format korrekt ist oder die Telefonnummer gültig ist.

Beispielcode:

 <?php
// Benutzernde Daten
$formData = [
    'username' => ' john_doe ',
    'email' => ' john.doe@m66.net ',
    'phone' => ' 123-456-7890 ',
    'address' => '  '
];

// Daten beseitigen:Überschüssige Räume entfernen
$cleanData = array_map('trim', $formData);

// Daten überprüfen:verwendenarray_filterFiltern Sie illegale Daten
$validData = array_filter($cleanData, function($value, $key) {
    switch ($key) {
        case 'username':
            return preg_match('/^\S+$/', $value);  // Stellen Sie sicher, dass es keine Räume im Benutzernamen gibt
        case 'email':
            return filter_var($value, FILTER_VALIDATE_EMAIL);  // Überprüfen Sie das Mailbox -Format
        case 'phone':
            return preg_match('/^\d{3}-\d{3}-\d{4}$/', $value);  // Überprüfen Sie das Format der Mobiltelefonnummer
        default:
            return !empty($value);  // Andere Felder können nicht leer sein
    }
}, ARRAY_FILTER_USE_BOTH);

// Ausgabe gültige Daten
print_r($validData);
?>

In diesem Beispiel verwenden wir Array_filter in Verbindung mit der Rückruffunktion, um jedes Formularfeld zu überprüfen. Die Rückruffunktion prüft, ob der Inhalt jedes Feldes eine bestimmte Regel entspricht:

  • Das Benutzernamefeld stellt sicher, dass es keine Räume gibt.

  • Das E -Mail -Feld stellt sicher, dass das Format den E -Mail -Standards entspricht.

  • Das Telefonfeld stellt sicher, dass die Telefonnummer ein bestimmtes Format erfüllt (z. B. 123-456-7890 ).

Wenn das Feld den Anforderungen nicht entspricht, filtert Array_filter die illegalen Daten und gibt ein neues Array mit nur rechtlichen Feldern zurück.

4. Verarbeiten Sie ungültige Daten

Wenn Sie eine Eingabeaufforderung angeben möchten, wenn der Benutzer ungültige Daten einreicht, können Sie dies tun, indem Sie überprüfen, ob $ validData leer ist.

Beispielcode:

 <?php
// Annahmen$validDataEs wurde über den obigen Code generiert
if (empty($validData)) {
    echo "Alle eingereichten Daten sind ungültig,Bitte überprüfen Sie Ihre Eingabe。";
} else {
    echo "Datenüberprüfung bestanden!";
    // Weitere Prozessgültige Daten
}
?>

Wenn das Array $ validData leer ist, bedeutet dies, dass alle vom Benutzer übermittelten Daten nicht den Überprüfungsregeln entsprechen. Sie können den Benutzer basierend auf diesem Ergebnis feedback.