繁体   English   中英

检查 HTML 表中的单元格是否为空的最佳做法是什么?

[英]What is the best practice to check if the cells in an HTML table are empty?

所以我在我的网站上有一个注册表,其中包含需要在提交前填写的字段。 据我所知,我有两种选择可以确保这一点。 第一个是对每个输入使用“必需”属性,或者在 PHP 级别并使用 js 来检查它们。 哪个是更好的做法? 有更好的方法吗? 为什么?

这是我使用 HTML 的方法:

<form role="form" action="registration.php" method="post" id="login-form" autocomplete="off">
    <div class="form-group">
        <label for="username" class="sr-only">username*</label>
        <input type="text" name="username" id="username" class="form-control" placeholder="Enter Desired Username" required>
    </div>
      <div class="form-group">
        <label for="email" class="sr-only">Email*</label>
        <input type="email" name="email" id="email" class="form-control" placeholder="somebody@example.com" required>
    </div>
      <div class="form-group">
        <label for="password" class="sr-only">Password*</label>
        <input type="password" name="password" id="key" class="form-control" placeholder="Password" required>
    </div>

    <input type="submit" name="submit" id="btn-login" class="btn btn-custom btn-lg btn-block" value="Register">
</form>

在 PHP/JS 版本中,代码应如下所示:

if (empty($username) || empty($email) || empty($password)){    
     echo "<script>alert('Fields cannot be empty')</script>";    
}

我感谢您的帮助。

我的建议是同时进行客户端和服务器端验证。 这样你就可以减少服务器负载,如果你以后把它变成 API 就好了。 希望这可以帮助。

客户端验证是处理验证过程比服务器端更快的方法,因为所有任务都发生在网页本身上,并且保存了客户端到服务器的网络时间。

但仅进行客户端验证存在攻击客户端的风险,这些客户端可以轻松绕过客户端,因此需要在服务器端验证 cilent 提交的字符串,这将从危险输入中保存您的数据.

注意:简而言之,就更快的验证而言,客户端是更好的选择,而就数据的安全性而言,服务器端是更好的选择。

事实上,服务器始终是每个网站的限制,因此我们只能减少从服务器到客户端的计算和程序,并将渲染借给用户的计算机。 因此,如果您可以使用 js 来做到这一点,那就永远不要干扰 PHP 。 只需使用 js,如果您的问题将使用纯 CSS 来处理,也会变得更好。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM