如何检查表单中的任何字段是否为空 [英] How to check if any fields in a form are empty

查看:130
本文介绍了如何检查表单中的任何字段是否为空的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在为我的网站构建一个登录系统,我需要一种检查表单中所有字段是否填写完毕的方法。

 <?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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆