Tutoriel de développement PHP de base : e-mail et URL de vérification du formulaire
1. Vérifier les noms, les e-mails, les URL
Dans cette section, nous présenterons comment vérifier les noms, les e-mails et les URL.
2. Vérifiez le nom
Le code suivant utilisera un moyen simple pour détecter si le champ du nom contient des lettres et des espaces si le nom. la valeur du champ n'est pas légale, un message d'erreur sera affiché :
$name = test_input($_POST["name"]); if (!preg_match("/^[a-zA-Z ]*$/",$name)) { $nameErr = "只允许字母和空格"; }
Remarque :
preg_match — effectue une correspondance d'expression régulière.
Syntaxe : int preg_match ( string $pattern , string $subject [, array $matches [, int $flags ]] )
in Recherchez dans la chaîne d'objet le contenu qui correspond à l'expression régulière donnée par le modèle. Si des correspondances sont fournies, les résultats de la recherche seront renseignés. $matches[0] contiendra du texte qui correspond à l'ensemble du modèle, $matches[1] contiendra du texte qui correspond au premier sous-modèle capturé entre parenthèses, et ainsi de suite.
Nous avons introduit les expressions régulières détaillées dans le cours sur les expressions régulières PHP.
3. E-mail de vérification
Le code suivant vérifiera si l'adresse e-mail est légitime de manière simple. Si l'adresse e-mail est illégale, un message d'erreur sera affiché :
$email = test_input($_POST["email"]); if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email)) { $emailErr = "非法邮箱格式"; }
4. Vérifiez l'URL
Le code suivant vérifiera si l'adresse URL est légale. (L'URL d'opération d'expression régulière suivante contient des tirets : "-") Si l'adresse URL est illégale, un message d'erreur sera affiché :
$website = test_input($_POST["website"]); if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$website)) { $websiteErr = "非法的 URL 的地址"; }
5. . Vérifiez que le nom, l'adresse e-mail et l'URL
sont les suivants :
<?php // 定义变量并默认设置为空值 $nameErr = $emailErr = $genderErr = $websiteErr = ""; $name = $email = $gender = $comment = $website = ""; if ($_SERVER["REQUEST_METHOD"] == "POST") { if (empty($_POST["name"])) { $nameErr = "Name is required"; } else { $name = test_input($_POST["name"]); // 检测名字是否只包含字母跟空格 if (!preg_match("/^[a-zA-Z ]*$/",$name)) { $nameErr = "只允许字母和空格"; } } if (empty($_POST["email"])) { $emailErr = "Email is required"; } else { $email = test_input($_POST["email"]); // 检测邮箱是否合法 if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email)) { $emailErr = "非法邮箱格式"; } } if (empty($_POST["website"])) { $website = ""; } else { $website = test_input($_POST["website"]); // 检测 URL 地址是否合法 if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$website)) { $websiteErr = "非法的 URL 的地址"; } } if (empty($_POST["comment"])) { $comment = ""; } else { $comment = test_input($_POST["comment"]); } if (empty($_POST["gender"])) { $genderErr = "性别是必需的"; } else { $gender = test_input($_POST["gender"]); } } ?>