Heim > Backend-Entwicklung > PHP-Tutorial > Tipps zur PHP-Formularvalidierung: So verwenden Sie die Funktion filter_var_array, um mehrere Benutzereingaben zu validieren

Tipps zur PHP-Formularvalidierung: So verwenden Sie die Funktion filter_var_array, um mehrere Benutzereingaben zu validieren

王林
Freigeben: 2023-07-30 10:50:02
Original
826 Leute haben es durchsucht

PHP-Formularvalidierungstipps: So verwenden Sie die Funktion filter_var_array, um mehrere Benutzereingaben zu überprüfen

Die Formularvalidierung ist ein entscheidender Schritt bei der Entwicklung von Webanwendungen. Vom Benutzer eingegebene Daten können schädlichen Code oder ungültige Daten enthalten und müssen daher überprüft werden, um die Sicherheit und Richtigkeit der Anwendung zu gewährleisten. In PHP gibt es eine sehr praktische Funktion filter_var_array(), mit der mehrere Formulareingaben validiert werden können. In diesem Artikel wird erläutert, wie Sie die Funktion filter_var_array() zur Formularvalidierung verwenden, sowie einige allgemeine Tipps und Überlegungen. Die Funktion

filter_var_array() akzeptiert zwei Parameter: Eingabearray und Filterregelarray. Das Eingabearray enthält die Benutzereingaben, die validiert werden müssen, und das Filterregelarray beschreibt, wie diese Eingaben validiert werden. Hier ist ein Beispiel:

// 输入数组
$input = [
    'name' => $_POST['name'],
    'email' => $_POST['email'],
    'age' => $_POST['age']
];

// 过滤器规则数组
$filters = [
    'name' => FILTER_SANITIZE_STRING,
    'email' => FILTER_VALIDATE_EMAIL,
    'age' => [
        'filter' => FILTER_VALIDATE_INT,
        'options' => ['min_range' => 18, 'max_range' => 100]
    ]
];

// 使用filter_var_array()函数进行验证
$result = filter_var_array($input, $filters);
Nach dem Login kopieren

Im obigen Beispiel erstellen wir zunächst ein Eingabearray $input, das die zu verifizierende Benutzereingabe enthält. Als Nächstes erstellen wir ein Array von Filterregeln, $filters, das beschreibt, wie jedes Eingabefeld validiert wird. In diesem Beispiel haben wir den Filter FILTER_SANITIZE_STRING für das Feld „name“, den Filter FILTER_VALIDATE_EMAIL für das Feld „email“ und den Filter FILTER_VALIDATE_EMAIL für das Feld „“ verwendet den Filter FILTER_VALIDATE_INT und der Bereich des Felds „<code>age“ liegt zwischen 18 und 100. name'字段使用了FILTER_SANITIZE_STRING过滤器,对'email'字段使用了FILTER_VALIDATE_EMAIL过滤器,对'age'字段使用了FILTER_VALIDATE_INT过滤器,并且指定了'age'字段的范围为18到100之间。

最后,我们调用了filter_var_array()函数,将输入数组和过滤器规则数组作为参数传递进去。函数会根据过滤器规则对输入数组进行验证,并返回一个包含验证结果的关联数组$result。如果验证成功,对应字段的值会保持不变;如果验证失败,对应字段的值会被设置为false。

接下来,我们可以根据$result数组中每个字段的验证结果来进行下一步的处理。例如,我们可以检查每个字段是否验证失败,并采取相应的操作:

if ($result['name'] === false) {
    echo '请输入有效的姓名。';
}

if ($result['email'] === false) {
    echo '请输入有效的电子邮件地址。';
}

if ($result['age'] === false) {
    echo '请输入有效的年龄(18-100)。';
}
Nach dem Login kopieren

在处理表单验证时,还有一些常见的技巧和注意事项需要注意:

  1. 在定义过滤器规则时,可以使用过滤器常量或过滤器选项来指定具体的验证条件。可以参考PHP官方文档来了解更多可用的过滤器。
  2. 可以在输入数组中使用数组和点号表示法来处理嵌套的表单字段。例如,$_POST['address']['city']可以表示为$input['address.city']
  3. Schließlich haben wir die Funktion filter_var_array() aufgerufen und das Eingabearray und das Filterregelarray als Parameter übergeben. Die Funktion validiert das Eingabearray gemäß den Filterregeln und gibt ein assoziatives Array $result zurück, das die Validierungsergebnisse enthält. Wenn die Überprüfung erfolgreich ist, bleibt der Wert des entsprechenden Felds unverändert. Wenn die Überprüfung fehlschlägt, wird der Wert des entsprechenden Felds auf „false“ gesetzt.
  4. Als nächstes können wir basierend auf den Überprüfungsergebnissen jedes Felds im $result-Array mit dem nächsten Schritt fortfahren. Beispielsweise können wir überprüfen, ob jedes Feld die Validierung nicht besteht, und entsprechende Maßnahmen ergreifen:
  5. rrreee
  6. Es ​​gibt auch einige allgemeine Tipps und Überlegungen, die Sie bei der Formularvalidierung beachten sollten:

    Beim Definieren von Filterregeln können Sie Folgendes verwenden Filterkonstanten oder Filteroptionen, um bestimmte Validierungsbedingungen anzugeben. Weitere Informationen zu den verfügbaren Filtern finden Sie in der offiziellen PHP-Dokumentation.

    🎜Sie können die Array- und Punktnotation in Eingabearrays verwenden, um verschachtelte Formularfelder zu verarbeiten. Beispielsweise kann $_POST['address']['city'] als $input['address.city'] dargestellt werden. 🎜🎜Es wird empfohlen, vor der Überprüfung führende und nachgestellte Leerzeichen aus den Eingabedaten zu entfernen, um zusätzliche Probleme bei der Überprüfung zu vermeiden. 🎜🎜Mit der Funktion filter_has_var() können Sie prüfen, ob ein angegebenes Eingabefeld vorhanden ist. Wenn ein Feld optional ist, können Sie mit dieser Funktion bestimmen, ob eine Validierung erforderlich ist. 🎜🎜🎜Zusammenfassend lässt sich sagen, dass mit der Funktion filter_var_array() problemlos mehrere Benutzereingaben validiert werden können. Durch die richtige Definition von Filterregeln und die Verarbeitung auf Basis der Verifizierungsergebnisse kann die Sicherheit und Korrektheit der Formulardaten effektiv gewährleistet werden. In der tatsächlichen Entwicklung können wir je nach spezifischem Bedarf weitere Filterregeln definieren und verwenden, um verschiedene Arten von Eingabevalidierungsanforderungen zu erfüllen. 🎜

Das obige ist der detaillierte Inhalt vonTipps zur PHP-Formularvalidierung: So verwenden Sie die Funktion filter_var_array, um mehrere Benutzereingaben zu validieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage