Javascript Can';不要在脚本标记中使用PHP
我正在使用JavaScript发出Javascript Can';不要在脚本标记中使用PHP,javascript,php,Javascript,Php,我正在使用JavaScript发出警报发出错误 如果用户输入错误,我将代码放在下面: <?php $_POST["usernamereg"] ?> = usernamereg; =usernamereg; 脚本将不再发出警报。如果我移除它,它会再次发出警报 <script type="text/javascript"> var usernamereg; var passwordreg; var password2reg; const regisForm =docum
警报
发出错误
如果用户输入错误,我将代码放在下面:
<?php $_POST["usernamereg"] ?> = 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>
var usernamereg;
var passwordreg;
var密码2reg;
const regisForm=document.getElementById(“注册表表单”);
函数getValue(){
usernamereg=document.getElementById(“usernamereg”).value;
passwordreg=document.getElementById(“passreg”).value;
password2reg=document.getElementById(“pass2reg”).value;
}
regisForm.addEventListener(“提交”,(e)=>{
e、 预防默认值();
getValue();
如果(usernamereg.length>30 | | usernamereg.length<5){
提醒(“您的用户名必须大于5且小于30”);
;
}否则{
=usernamereg;
}
if(passwordreg.length>30 | | passwordreg.length<8){
警报(“您的密码必须大于8且小于30”);
}否则{
=passwordreg;
}
if(password2reg!=passwordreg){
警报(“您重新键入的密码不匹配”);
}否则{
=密码2reg;
}
});
您需要回显该值,或者尝试不将任何内容设置为password2reg
的值
<?php echo $_POST["passreg"] ?> = passwordreg;
=passwordreg;
请注意,这可能不是一个很好的模式,因为它非常容易出错。您编写的代码
<?php $_POST["usernamereg"] ?> = usernamereg;
=usernamereg;
您正在尝试将javascript变量分配给PHP post变量
这是不对的
您最好发布html表单代码,因为您不需要设置$\u post[“usernamereg”]
,因为它在提交表单时已经设置好了
如果您的用户名和密码正确,则只需提交表单
希望这能有所帮助。当我尝试你的方法时,它并没有在$U POST[“passreg”]中增加价值。我想将passwordreg添加到$\u POST[“passreg”]。然而。谢谢你的回复。你把PHP(服务器端)和Javascript(客户端)混在一起了。在某些情况下,这可能是一个有效的用例,但听起来并不是您想要做的事情。将表单发送到服务器后,将可以访问
$\u POST
数组。您使用javascript阻止提交到服务器,同时尝试访问php$\u POST
数组。这是不可能的。您可以使用constraint validation API尝试HTML5表单验证,或者您正在通过AJAX请求将数据提交到php请求中,这是一个即时的回答。哦,谢谢。我认为您可以将脚本中的数据添加到php中