如何检查表单中的任何字段是否为空 [英] How to check if any fields in a form are empty
问题描述
我正在为我的网站构建一个登录系统,我需要一种检查表单中所有字段是否填写完毕的方法。
<?php $ b我也有一个错误消息的问题,说我的电子邮件不是正确的格式。 $ b $ con = mysql_connect(localhost,262096,9201999);
if(!$ con)
{
die('Could not connect:'。mysql_error());
}
mysql_select_db(262096,$ con);
$ firstname = $ _POST ['firstname'];
$ lastname = $ _POST ['lastname'];
$ username = $ _POST ['username'];
$ password = $ _POST ['password'];
$ passwordconf = $ _POST ['passwordconf'];
$ email = $ _POST ['email'];
$ securityq = $ _POST ['securityq'];
$ qanswer = $ _POST ['qanswer'];
if(empty($ firstname)|| empty($ lastname)|| empty($ username)|| empty($ password)||
empty($ passwordconf)|| empty ($ email)|| empty($ securityq)|| empty($ qanswer))
{
echo你没有填写必填字段。
$ uname =SELECT * FROM users WHERE username ='{$ username}';
$ unamequery = mysql_query($ uname)或die(mysql_error());
if(mysql_num_rows($ unamequery)> 0)
{
echo您输入的用户名已被占用;
$ emailfind =SELECT * FROM users WHERE email ='{$ email}';
$ emailquery = mysql_query($ emailfind)或die(mysql_error());
if(mysql_num_rows($ emailquery)> 0)
{
echo您输入的电子邮件已被注册;
$ b $ if($ password!= $ passwordconf)
{
echo输入的密码不匹配;
}
$ regex =/^[a-z0-9]+([_.-][a-z0-9]+)*@([a-z0- 9] +([.-] [A-Z0-9] +)*)+ [AZ] {2,} $ / I。
if(!preg_match($ regex,$ email))
{
echo您输入的电子邮件地址不是名称@域格式;
使用表单字段创建一个数组:
$ $ p $ $ $ c $ $ field = array('firstname','lastname','username','密码','passwordconf','email','securityq','qanswer');
$ error = false; //没有错误
foreach($ fields AS $ fieldname){//循环遍历每个字段
if(!isset($ _ POST [$ fieldname])|| empty($ _ POST [$ fieldname] )){
echo'Field'。$ fieldname。'missses!< br />>'; //显示字段错误
$ error = true; //有错误
}
}
if(!$ error){//仅当没有错误发生时才创建查询
//创建查询.. ..
}
I am building a login system for a website of mine and I need a way of checking if all the fields in a form are filled out. I am also having a problem with an error message say my email is not in the correct format.
<?php
$con = mysql_connect(localhost, 262096, 9201999);
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("262096", $con);
$firstname = $_POST['firstname'];
$lastname = $_POST['lastname'];
$username = $_POST['username'];
$password = $_POST['password'];
$passwordconf = $_POST['passwordconf'];
$email = $_POST['email'];
$securityq = $_POST['securityq'];
$qanswer = $_POST['qanswer'];
if(empty($firstname) || empty($lastname) || empty($username) || empty($password) ||
empty($passwordconf) || empty($email) || empty($securityq) || empty($qanswer))
{
echo "You did not fill out the required fields.";
}
$uname = "SELECT * FROM users WHERE username='{$username}'";
$unamequery = mysql_query($uname) or die(mysql_error());
if(mysql_num_rows($unamequery) > 0)
{
echo "The username you entered is already taken";
}
$emailfind = "SELECT * FROM users WHERE email='{$email}'";
$emailquery = mysql_query($emailfind) or die(mysql_error());
if(mysql_num_rows($emailquery) > 0)
{
echo "The email you entered is already registered";
}
if($password != $passwordconf)
{
echo "The passwords you entered do not match";
}
$regex = "/^[a-z0-9]+([_.-][a-z0-9]+)*@([a-z0-9]+([.-][a-z0-9]+)*)+.[a-z]{2,}$/i";
if(!preg_match($regex, $email))
{
echo "The email you entered is not in name@domain format";
}
When using large forms I recommend creating an array with the form fields:
$fields = array('firstname', 'lastname', 'username', 'password', 'passwordconf', 'email', 'securityq', 'qanswer');
$error = false; //No errors yet
foreach($fields AS $fieldname) { //Loop trough each field
if(!isset($_POST[$fieldname]) || empty($_POST[$fieldname])) {
echo 'Field '.$fieldname.' misses!<br />'; //Display error with field
$error = true; //Yup there are errors
}
}
if(!$error) { //Only create queries when no error occurs
//Create queries....
}
这篇关于如何检查表单中的任何字段是否为空的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!