gpt4 book ai didi

php - 验证并突出显示错误

转载 作者:行者123 更新时间:2023-11-29 01:46:37 26 4
gpt4 key购买 nike

我如何制作一些带有验证的表单,以突出显示输入无效或为空的字段?

最佳答案

基本思想是:

  • 如果表单已经提交,检查数据
  • 如果可以,则使用该数据
  • 否则,重新显示表单

注意:首先,您在服务器端执行所有这些操作:

  • 用户提交表单,
  • 数据发送到服务器
  • 服务器分析该数据
  • 并在必要时重新显示表单


下面是演示基本思想的一小段代码:

<?php

// By default, no error
$errors = array(
'field1' => false,
);

// And all field have empty values
$values = array(
'field1' => isset($_GET['field1']) ? $_GET['field1'] : "",
);


if (isset($_GET['submit'])) {
// The form has been submitted
// => Check if all data is here

if (!isset($_GET['field1']) || empty($_GET['field1'])) {
$errors['field1'] = true;
}

}


// If there is no error on any field, then :
// - save the data
// - redirect to a page that says "data saved"
// Else, continue, and re-display the form


?>
<style type="text/css">
.error {
border: 1px solid red;
}
</style>
<form action="temp.php" method="get">
<input type="text" name="field1" <?php if ($errors['field1'] == true) {echo 'class="error"';}?> value="<?php echo htmlspecialchars($values['field1'], ENT_COMPAT, 'UTF-8'); ?>" />
<input type="submit" name="submit" value="Go !" />
</form>


一些注意事项:

  • 如果您的表单旨在创建/修改数据,您将使用 POST 而不是 GET (但 GET 是更容易测试)
  • 当然,您需要比这更多的 HTML:我只发布了一个框架 ;-)
  • 您还需要更多的 PHP 代码来保存数据、重定向等等。


当此解决方案有效时,您可以使用一些 Javascript 对其进行增强,以进行第一层检查,避免在出现错误时往返于服务器。

您仍将在服务器上进行验证:在客户端(Javascript) 上进行验证是为了让您的网站更加人性化,但是 JS并不总是启用,并且可以伪造表单 - 因此您始终需要在服务器上验证数据!

关于php - 验证并突出显示错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5282123/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com