无法在脚本标记内使用PHP

时间:2020-03-07 05:25:24

标签: javascript php

我正在使用JavaScript alert发出错误

如果用户输入错误,我将代码放在下面:

<?php $_POST["usernamereg"] ?> = usernamereg;

该脚本不再发出警报。如果删除它,它可以再次发出警报。

<script type="text/javascript">

var usernamereg;
var passwordreg;
var password2reg;
const regisForm =document.getElementById("reg-form");
function getValue(){
 usernamereg = document.getElementById("usernamereg").value;
passwordreg = document.getElementById("passreg").value;
password2reg = document.getElementById("pass2reg").value;
}
regisForm.addEventListener("submit", (e) => { 
e.preventDefault();
getValue();


    if (usernamereg.length > 30 || usernamereg.length < 5){
        alert("Your username must be longer than 5 and less than 30"); 
        <?php $err = 1;?>;
    }else { 

        <?php $_POST["usernamereg"] ?> = usernamereg;
        <?php $err = 0;?>
    }

    if (passwordreg.length > 30 || passwordreg.length < 8){
        alert("Your password must be longer than 8 and less than 30"); 

        <?php $err = 1;?>
    } else {

          <?php $_POST["passreg"] ?> = passwordreg;

        <?php $err = 0;?>
    }
    if (password2reg!=passwordreg){
        alert("Your re-type password doesnt match");
        <?php $err = 1;?>
    }else {
          <?php $_POST["pass2reg"] ?> = password2reg;

        <?php $err = 0;?>
    }

});
</script>  

2 个答案:

答案 0 :(得分:0)

您需要回显该值,或者您尝试将password2reg的值设置为空。

<?php echo $_POST["passreg"] ?> = passwordreg;

请注意,这可能不是很好的模式,因为它很容易出错。

答案 1 :(得分:0)

您编写的代码

<?php $_POST["usernamereg"] ?> = usernamereg;

您正在尝试将JavaScript变量分配给PHP post变量。

这是不正确的。

最好发布html表单代码,因为您无需设置$_POST["usernamereg"],因为在提交表单时已经设置了它。

如果您的用户名和密码正确,则只需提交表格。

希望这会有所帮助。