Heim  >  Artikel  >  Backend-Entwicklung  >  So erstellen Sie eine perfekte Formularvalidierung mit PHP

So erstellen Sie eine perfekte Formularvalidierung mit PHP

王林
王林Original
2023-06-27 12:48:281255Durchsuche

In der Webentwicklung ist die Formularvalidierung ein sehr wichtiger Teil. Sie kann sicherstellen, dass die Eingabedaten des Benutzers dem angegebenen Format und den angegebenen Regeln entsprechen, wodurch unnötige Fehler und böswilliges Verhalten wirksam verhindert werden. Als leistungsstarke und beliebte Programmiersprache kann PHP Formularvalidierungsfunktionen durch das Schreiben von Code implementieren. Aber wie erstellt man mit PHP eine perfekte Formularvalidierung? In diesem Artikel werden Sie unter folgenden Gesichtspunkten ausführlich vorgestellt.

1. Formularübermittlung und -überprüfung aufrufen

Um PHP zur Implementierung der Formularüberprüfung zu verwenden, müssen Sie zunächst die Schaltfläche „Senden“ im HTML-Formular aufrufen. In einem HTML-Formular können Sie das Tag ff9c23ada1bcecdd1a0fb5d5a0f18437 verwenden, um Formularelemente wie d5fd7aea971a85678ba271703566ebfd, 4750256ae76b6b9d804861d8f69e79d3einzuschließen > usw. Im PHP-Code müssen Sie die Anforderungsmethode angeben, die der Formularübermittlung entspricht, also $_REQUEST oder $_POST. ff9c23ada1bcecdd1a0fb5d5a0f18437标签来包含表单元素,例如d5fd7aea971a85678ba271703566ebfd,4750256ae76b6b9d804861d8f69e79d3等。而在PHP代码中需要指定表单提交时所对应的请求方法,即$_REQUEST$_POST

例如,在HTML表单中,假设我们定义了一个文本框,用于输入用户名。那么,在PHP代码中可以这样来调用它的提交和验证:

<?php
if(isset($_REQUEST['submit'])){
$username = $_POST['username'];
//进行验证
}
?>

这里,isset()函数可以检查请求是否存在,并返回truefalse。而$_POST则是指通过POST请求提交的表单数据。

二、验证表单输入数据

在对表单进行验证时,通常需要检查用户的输入数据是否符合指定的格式和规则。例如,对于输入的用户名,我们可以检查它的长度是否超出限制,是否包含非法字符等。常见的表单验证方式如下:

1.检查输入格式:验证输入数据的格式是否符合协议规定。例如,在验证邮箱地址时,可以使用正则表达式来检测其格式是否正确。

if(preg_match('/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,4}$/',$_POST['email'])){
//合法
}

2.检查字符串长度:验证输入字符串的长度是否符合要求。例如,在验证用户名时,可以检查其长度是否在6-20个字符之间。

if( strlen($username) >= 6 && strlen($username) <= 20 ){
//合法
}

3.检查是否为空:验证是否输入了必填字段,并且检测数据是否为空。例如,在验证密码时,可以检查其是否为空。

if(empty($_REQUEST['password'])){
//密码为空,需要填写
}

三、处理表单提交数据

经过验证之后,表单的输入数据已经符合指定的规则和格式了,但是我们还需要将这些数据进行处理,例如保存到数据库中或发送电子邮件等。在PHP代码中,可以使用$_REQUEST$_POST全局变量来获取表单提交的信息,然后对其进行处理。例如:

<?php
if( isset($_REQUEST['submit']) ){
$username = trim($_POST['username']);
$email = trim($_POST['email']);
$password = trim($_POST['password']);

//将数据保存到数据库中
mysqli_query($db,"INSERT INTO user (username,email,password) VALUES ('$username','$email','$password')");

//发送电子邮件
$to = $email;
$subject = '注册成功';
$message = '恭喜您!您已经成功注册本站账户。';
$headers = 'From: webmaster@example.com';
mail($to,$subject,$message,$headers);
}
?>

四、处理错误信息

在进行表单验证时,往往会出现一些错误情况,例如输入的数据格式不正确、必填字段为空等。针对这些错误情况,我们需要及时地反馈给用户,并提示正确的操作步骤。在PHP代码中,可以使用echo语句和die()

Angenommen, wir definieren in einem HTML-Formular ein Textfeld zur Eingabe eines Benutzernamens. Anschließend kann die Übermittlung und Überprüfung wie folgt im PHP-Code aufgerufen werden:

if(preg_match('/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,4}$/',$_POST['email'])){
//合法
}else{
echo '输入的邮箱地址不正确,请重新输入!';
die();
}

Hier kann die Funktion isset() prüfen, ob die Anfrage existiert, und true oder false. Und $_POST bezieht sich auf die über die POST-Anfrage übermittelten Formulardaten.

2. Formulareingabedaten überprüfen🎜🎜Bei der Validierung eines Formulars muss in der Regel überprüft werden, ob die Eingabedaten des Benutzers dem angegebenen Format und den angegebenen Regeln entsprechen. Beispielsweise können wir für den eingegebenen Benutzernamen prüfen, ob seine Länge das Limit überschreitet, ob er unzulässige Zeichen enthält usw. Gängige Methoden zur Formularüberprüfung sind wie folgt: 🎜🎜1. Überprüfen Sie das Eingabeformat: Überprüfen Sie, ob das Format der Eingabedaten dem Protokoll entspricht. Beispielsweise können Sie bei der Validierung einer E-Mail-Adresse mithilfe regulärer Ausdrücke prüfen, ob diese korrekt formatiert ist. 🎜rrreee🎜2. Überprüfen Sie die Zeichenfolgenlänge: Überprüfen Sie, ob die Länge der Eingabezeichenfolge den Anforderungen entspricht. Wenn Sie beispielsweise einen Benutzernamen validieren, können Sie prüfen, ob er zwischen 6 und 20 Zeichen lang ist. 🎜rrreee🎜3. Überprüfen Sie, ob es leer ist: Überprüfen Sie, ob die erforderlichen Felder eingegeben sind, und stellen Sie fest, ob die Daten leer sind. Wenn Sie beispielsweise ein Passwort validieren, können Sie prüfen, ob es leer ist. 🎜rrreee🎜3. Verarbeitung der Formularübermittlungsdaten🎜🎜Nach der Überprüfung entsprechen die Eingabedaten des Formulars bereits den angegebenen Regeln und dem angegebenen Format, wir müssen die Daten jedoch noch verarbeiten, z. B. in einer Datenbank speichern oder eine E-Mail senden. usw. Im PHP-Code können Sie die globalen Variablen $_REQUEST und $_POST verwenden, um die Formularübermittlungsinformationen abzurufen und diese dann zu verarbeiten. Zum Beispiel: 🎜rrreee🎜 4. Umgang mit Fehlermeldungen 🎜🎜 Bei der Formularüberprüfung treten häufig einige Fehler auf, z. B. ist das Eingabedatenformat falsch, erforderliche Felder sind leer usw. Als Reaktion auf diese Fehlersituationen müssen wir den Benutzern zeitnah Feedback geben und korrekte Betriebsschritte veranlassen. Im PHP-Code können Sie die Anweisung echo und die Funktion die() verwenden, um Fehlerinformationen auszugeben. Das Beispiel lautet wie folgt: 🎜rrreee🎜 5. Fazit 🎜🎜PHP Die Formularüberprüfung ist ein sehr wichtiger Teil des Implementierungsprozesses. Benutzererfahrung, Sicherheit und Lesbarkeit des Codes müssen während des Implementierungsprozesses vollständig berücksichtigt werden. Durch die detaillierte Einführung der oben genannten Aspekte glaube ich, dass Sie bereits beherrschen können, wie Sie mit PHP eine perfekte Formularvalidierung erstellen. 🎜

Das obige ist der detaillierte Inhalt vonSo erstellen Sie eine perfekte Formularvalidierung mit PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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