【发布时间】:2022-01-11 17:30:13
【问题描述】:
我有一个带有电子邮件和密码验证的表单。当密码错误时,password 框必须是红色的,以表明出现问题,我这样做是添加一个 "vermei" 类。
我必须在 PHP 中这样做,已经尝试过:
$dom=new DOMDocument;
$dom->loadHTML($html);
$input=$dom->getElementById('password');
foreach($input as $pd){
$pd->setAttribute('class', $pd->getAttribute('class').' vermei');
}
$html = $dom->saveHTML(); // return 'variable $html not found'
和
echo '<script>
alert("Password Incorrect!");
history.go(-1); //work until this part, the code below do not run.
//I did this go back cuz when form is submitted, go to config.php, and
// this code back to sign in page
var password = document.getElementById("password");
document.getElementById("password").focus();
password.classList.add("vermei");
</script>';
有人可以帮我在密码输入中添加"vermei" 类吗?
【问题讨论】:
-
还有什么问题?
-
getElementById只返回一个元素,而不是一个列表。你不需要循环。 -
@daremachine 两个代码都没有在 html 中添加
vermei类,什么也没有发生 -
这些方法对我来说都没有意义。在第一种方法中,您似乎要覆盖 HTML 文件,您何时以及为什么要这样做?而在第二种方法中,您会立即将用户重定向回上一页,因此在此之后运行的任何代码都没有实际意义。您在哪里执行密码输入的验证?我不清楚这里的整体逻辑流程是什么。但如何更新 UI 将完全取决于此。
-
顺便说一句...如果这是一个登录表单,那么您不应该告诉他们哪个输入不正确。用户应该知道的是登录失败。告诉他们用户名是正确的,但密码不是给攻击者信息。信息不多,而且他们可能会获得其他信息,但最好不要养成向未经身份验证的用户提供信息的习惯。
标签: javascript php html