我有远程存储的php文件。它使用post来获取2个变量," username"和"密码",根据它在我的数据库中的存在,它将回显有效或无效。我目前在我的Android应用程序中使用它来登录用户。
我想使用相同的脚本登录我正在构建的网站。我需要能够将我从HTML表单中获得的2个变量传递给javascript函数,该函数将获取变量,通过php查询运行它们,读取echoed输出并决定向表单返回true或false。下面是我目前用于脚本的代码
Javascript代码:
<script type="text/javascript">
function Login(){
var username = document.getElementById('username').value;
var password = document.getElementById('password').value;
if (username == "" || password == "") {
alert ("Please fill in username and password fields");
return false;
}
$.post("my_query_url.php",{username:username, password:password}, function(data) {
if (data.toLowerCase == "valid")
return true;
else
return false;
});
}
</script>
HTML表单:
<form action="Main.html" method="post" onsubmit=" return Login();">
Username: <br>
<input type="text" name="username" id="username"><br>
Password: <br>
<input type="password" name="password" id="password"><br><br>
<input type="submit" value="Login">
</form>
目前,它始终将用户发送到我的Main.html页面,并输入任何非空的用户名/密码。
我不太熟悉这两种语言,但我需要快速学习,因为它们对我的高级项目课程学期很重要,尤其是接下来的两周。这可能只与Javascript和HTML有关吗?一些指针将非常感谢!谢谢!
答案 0 :(得分:0)
你实际上几乎都在那里。您只需要从Login函数返回false,以防止触发表单的默认操作(即重定向到main.html)。然后,您需要通过javascript自行执行此操作,而不是依赖于表单来重定向用户。
<script type="text/javascript">
function Login(){
var username = document.getElementById('username').value;
var password = document.getElementById('password').value;
if (username == "" || password == "") {
alert ("Please fill in username and password fields");
return false;
}
$.post("my_query_url.php",{username:username, password:password}, function(data) {
if (data.toLowerCase() === "valid")
window.location.href = "./Main.html"; //redirect the user
else
return false;
});
return false
}
</script>