切换到whirlpool后Javascript函数不工作

切换到whirlpool后Javascript函数不工作,javascript,php,Javascript,Php,我一直在遵循一个指南来创建一个安全的登录页面(假设我是PHP新手,我正在努力学习);在您单击注册页面和登录页面上的“提交”后,它们使用javascript作为处理器。然而,这个功能似乎被破坏了。我对它进行了编辑,使盐转化为漩涡,而不是sha512。 下面是函数(还有指南的链接:) 功能: function formhash(form, password) { // Create a new element input, this will be our hashed password f

我一直在遵循一个指南来创建一个安全的登录页面(假设我是PHP新手,我正在努力学习);在您单击注册页面和登录页面上的“提交”后,它们使用javascript作为处理器。然而,这个功能似乎被破坏了。我对它进行了编辑,使盐转化为漩涡,而不是sha512。 下面是函数(还有指南的链接:)

功能:

function formhash(form, password) {
    // Create a new element input, this will be our hashed password field. 
    var p = document.createElement("input");

    // Add the new element to our form. 
    form.appendChild(p);
    p.name = "p";
    p.type = "hidden";
    p.value = whirlpool(password.value);

    // Make sure the plaintext password doesn't get sent. 
    password.value = "";

    // Finally submit the form. 
    form.submit();
}

function regformhash(form, uid, email, password, conf) {
     // Check each field has a value
    if (uid.value == ''         || 
          email.value == ''     || 
          password.value == ''  || 
          conf.value == '') {

        alert('You must provide all the requested details. Please try again');
        return false;
    }

    // Check the username

    re = /^\w+$/; 
    if(!re.test(form.username.value)) { 
        alert("Username must contain only letters, numbers and underscores. Please try again"); 
        form.username.focus();
        return false; 
    }

    // Check that the password is sufficiently long (min 6 chars)
    // The check is duplicated below, but this is included to give more
    // specific guidance to the user
    if (password.value.length < 6) {
        alert('Passwords must be at least 6 characters long.  Please try again');
        form.password.focus();
        return false;
    }

    // At least one number, one lowercase and one uppercase letter 
    // At least six characters 

    var re = /(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{6,}/; 
    if (!re.test(password.value)) {
        alert('Passwords must contain at least one number, one lowercase and one uppercase letter.  Please try again');
        return false;
    }

    // Check password and confirmation are the same
    if (password.value != conf.value) {
        alert('Your password and confirmation do not match. Please try again');
        form.password.focus();
        return false;
    }

    // Create a new element input, this will be our hashed password field. 
    var p = document.createElement("input");

    // Add the new element to our form. 
    form.appendChild(p);
    p.name = "p";
    p.type = "hidden";
    p.value = whirlpool(password.value);

    // Make sure the plaintext password doesn't get sent. 
    password.value = "";
    conf.value = "";

    // Finally submit the form. 
    form.submit();
    return true;
}
函数formhash(表单、密码){
//创建一个新元素输入,这将是我们的哈希密码字段。
var p=document.createElement(“输入”);
//将新元素添加到表单中。
表3.儿童(p);
p、 name=“p”;
p、 type=“隐藏”;
p、 值=惠而浦(password.value);
//确保未发送明文密码。
password.value=“”;
//最后提交表格。
表单提交();
}
函数regformhash(表单、uid、电子邮件、密码、conf){
//检查每个字段是否有一个值
如果(uid.value=''||
email.value=''||
password.value=''||
conf.value==“”){
警报(“您必须提供所有请求的详细信息。请重试”);
返回false;
}
//检查用户名
re=/^\w+$/;
如果(!re.test(form.username.value)){
警告(“用户名必须仅包含字母、数字和下划线。请重试”);
form.username.focus();
返回false;
}
//检查密码是否足够长(至少6个字符)
//下面重复了该检查,但这是为了提供更多信息
//对用户的具体指导
if(password.value.length<6){
警报('密码长度必须至少为6个字符,请重试');
form.password.focus();
返回false;
}
//至少一个数字、一个小写字母和一个大写字母
//至少六个字符
变量re=/(?=.*\d)(?=.[a-z])(?=.[a-z])。{6,}/;
如果(!重新测试(密码值)){
警报(“密码必须至少包含一个数字、一个小写字母和一个大写字母。请重试”);
返回false;
}
//检查密码和确认是否相同
if(password.value!=conf.value){
警报('您的密码和确认不匹配。请重试');
form.password.focus();
返回false;
}
//创建一个新元素输入,这将是我们的哈希密码字段。
var p=document.createElement(“输入”);
//将新元素添加到表单中。
表3.儿童(p);
p、 name=“p”;
p、 type=“隐藏”;
p、 值=惠而浦(password.value);
//确保未发送明文密码。
password.value=“”;
conf.value=“”;
//最后提交表格。
表单提交();
返回true;
}

那么问题出在哪里,您是否遇到了错误?你的控制台里有什么?我没有任何回报。当我尝试单击按钮时,它不起作用。按钮的代码是正确的,因为我用一个简单的弹出窗口测试了它。