Javascript函数,PHP抛出一个;非法形成的XML语法;错误
我正在尝试学习一些javascript,但我很难找出我的代码不正确的原因(我肯定我做错了什么,哈哈),但无论如何,我试图创建一个登录页面,以便在提交表单时,javascript将调用一个函数,检查登录是否在mysql数据库中,然后检查用户密码的有效性(如果存在)。但是,我遇到了一个无法解决的错误(非法形成的XML语法)。我真的很困惑,主要是因为netbeans说这是一个xml语法错误,而我没有使用xml。以下是相关代码:Javascript函数,PHP抛出一个;非法形成的XML语法;错误,php,javascript,xml,syntax-error,Php,Javascript,Xml,Syntax Error,我正在尝试学习一些javascript,但我很难找出我的代码不正确的原因(我肯定我做错了什么,哈哈),但无论如何,我试图创建一个登录页面,以便在提交表单时,javascript将调用一个函数,检查登录是否在mysql数据库中,然后检查用户密码的有效性(如果存在)。但是,我遇到了一个无法解决的错误(非法形成的XML语法)。我真的很困惑,主要是因为netbeans说这是一个xml语法错误,而我没有使用xml。以下是相关代码: function validateLogin(login){ log
function validateLogin(login){
login.addEventListener("input", function() {
$value = login.value;
if (<?php
//connect to mysql
mysql_connect(host, user, pass) or die(mysql_error());
echo("<script type='text/javascript'>");
echo("alert('MYSQL Connected.');");
echo("</script>");
//select db
mysql_select_db() or die(mysql_error());
echo("<script type='text/javascript'>");
echo("alert('MYSQL Database Selected.');");
echo("</script>");
//query
$result = mysql_query("SELECT * FROM logins") or die(mysql_error());
//check results against given login
while($row = mysql_fetch_array($result)){
if($row[login] == $value){
echo("true");
exit(0);
}
}
echo("false");
exit(0);
?>) {
login.setCustomValidity("Invalid Login. Please Click 'Register' Below.")
} else {
login.setCustomValidity("")
}
});
}
函数验证登录(登录){
login.addEventListener(“输入”,函数(){
$value=login.value;
如果(您不能以这种方式混合使用PHP和JavaScript,因为在客户端上执行任何JavaScript之前,您的所有PHP都已经在服务器上执行了
该错误是因为客户端正在接收并未能将其作为JavaScript执行:
function validateLogin(login){
login.addEventListener("input", function() {
$value = login.value;
if (<script type='text/javascript'>alert('MYSQL Connected.');</script>...
// etc.
根据需要调整URL/validateLogin.php
;但为该URL创建一个类似以下内容的php文件:
<?php
$value = $_POST['login'];
mysql_connect(host, user, pass) or die(mysql_error());
mysql_select_db() or die(mysql_error());
$result = mysql_query("SELECT * FROM logins") or die(mysql_error());
while($row = mysql_fetch_array($result)){
if($row[login] == $value){
echo("true");
exit(0);
}
}
echo("false");
exit(0);
?>
您不能以这种方式混合使用PHP和JavaScript,因为在客户端上执行任何JavaScript之前,您的所有PHP都已经在服务器上执行了
该错误是因为客户端正在接收并未能将其作为JavaScript执行:
function validateLogin(login){
login.addEventListener("input", function() {
$value = login.value;
if (<script type='text/javascript'>alert('MYSQL Connected.');</script>...
// etc.
根据需要调整URL/validateLogin.php
;但为该URL创建一个类似以下内容的php文件:
<?php
$value = $_POST['login'];
mysql_connect(host, user, pass) or die(mysql_error());
mysql_select_db() or die(mysql_error());
$result = mysql_query("SELECT * FROM logins") or die(mysql_error());
while($row = mysql_fetch_array($result)){
if($row[login] == $value){
echo("true");
exit(0);
}
}
echo("false");
exit(0);
?>
怎么了?你只需在if
条件中插入
部分,就可以破坏你的JavaScript。因此你会得到if(警报('MYSQL Connected');…
等等……接下来的事情是:你正在尝试将$value
,这是JavaScript变量,与$row[login]匹配
在PHP循环中-那里没有$value
!这些是分开的代码。都错了
乔纳森·洛诺夫斯基(Jonathan Lonowski)很好地解释了应该怎么做。怎么了?你只需在if
条件中插入
部分,就可以破坏你的JavaScript。因此你会得到if(警报('MYSQL Connected')).
等等……下一件事:您正在尝试将$value
,这是一个JavaScript变量,与PHP循环中的$row[login]
相匹配-您没有$value
!这些是分开的代码。这都是错误的
乔纳森·洛诺夫斯基(Jonathan Lonowski)很好地解释了你应该怎么做。好的,我现在明白了,非常感谢你这么详细的回答。好的,我现在明白了,非常感谢你这么详细的回答。我不明白-我的回答有什么问题,我被否决了?我正在写答案,但弹出消息显示有人(乔纳森)回答,我加载了他的帖子,认为它已经完成了,我不必再写所有的东西,所以我只发送我所拥有的。这不是一个解决方案,但它描述了什么是错的。我不明白-我的答案有什么错,我被否决了?我在写答案,但弹出消息显示有人(乔纳森)回答说,我加载了他的帖子,认为它已经完成了,我不必第二次写所有的东西,所以我只发送我所拥有的。这不是一个解决方案,但它描述了什么是错误的。。