gpt4 book ai didi

php - Onblur 或 onchange 检查,在注册表单中使用 php 函数

转载 作者:行者123 更新时间:2023-11-30 13:11:25 25 4
gpt4 key购买 nike

我希望能够在更改后检查文本框中的文本,并报告错误所在。用于注册表。

这是 register.php 的一部分,其中

<form action"" method="post">
<ul class="ul-reg">
<li>
<p>Username: </p><input name="username-field" type="text" onblur="someFunction()" /><span id="UsernamehelpText"> </span>
</li>
</ul>
</form>

然后我会有一个 registerfunctions.php,我会在其中存储所有用于检查长度、字符、可能是正则表达式等的函数。我调用的函数并不是那么重要。我只是不知道如何称呼他们。

形成我所看到的跨度是你发布错误的地方,但是如果有任何其他选项我打开它,我想要的只是能够在与文本框相同的行中发布错误文本

我已经检查过 JavaScript 和 AJAX,但我在这方面还很陌生,并不真正理解它是如何工作的。

最佳答案

在评论中讨论后我明白你想要什么。

首先,解释一下。验证发生在两个地方:在您的前端(您的网页)和在您的后端(在保存发布值的 PHP 脚本中)。任何您确实不想保存的东西——例如未转义的 SQL 字符串、太长的字段等等——必须在 PHP 中进行验证,因为绕过 Javascript 验证是微不足道的。例如,没有什么可以阻止某人向您的服务器发送包含非法值的 POST,而无需访问您的网页。

即使您需要在后端执行验证,在前端执行相同的验证仍然对用户友好,因此用户不必等待很长时间才能看到错误。这也减少了您服务器的流量。在一个大项目中,您可能想要做的是拥有某种系统来集中编写验证规则,然后使用这些规则动态生成 PHP 和 Javascript 验证。这样做的好处是您不会在两个地方复制您的业务规则,但在较小的项目中,这可能不值得这么麻烦。

前端的验证看起来像这样:您将事件处理程序绑定(bind)到一个或多个适当的事件(例如,您可以添加 onkeydown="validateUserName()",以便验证 react 更快),然后更新您的适当的警告文本。

<form action="" method="post">
<ul class="ul-reg">
<li>
<p>Username: </p>
<input id="username" name="username-field" type="text" onblur="validateUserName()" />
<span id="UsernamehelpText"></span>
</li>
</ul>
</form>

<script type="text/javascript">
function validateUserName() {
var userNameElement = document.getElementById('username');

//Do your work: Get the value of the user name field, check
// the values against your validation rules...

var helpText = document.getElementById('UsernamehelpText');
if(isValid)
helpText.innerHTML = "";
else
helpText.innerHTML = "Invalid!";
}
</script>

在后端,当您处理表单时,您必须检查 PHP 中的相同规则,以防止恶意或由于 Javascript 错误而发布非法值。如果发现错误,您不会保存,而是可以使用输入字段中提交的值和指示无效内容的消息重新呈现表单 - 这允许用户更改他们的输入而不会丢失他们的值已提交。

关于php - Onblur 或 onchange 检查,在注册表单中使用 php 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13743295/

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