我有一个远程存储的php文件。 它使用 post 来获取 2 个变量,"用户名"和"密码",然后根据它在我的数据库中的存在,它们将回显有效或无效。 我目前在我的安卓应用程序中使用它来登录用户。
我想使用相同的脚本登录我正在构建的网站。 我需要能够将从 HTML 表单获得的 2 个变量传递给 javascript 函数,该函数将获取变量,通过 php 查询运行它们,读取回显的输出并决定向表单返回 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>
网页表单:
<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>
目前,它总是使用任何非空用户名/密码输入将用户发送到我的主.html页面。
我不太精通这两种语言,但我需要快速学习,因为它们对我的高级项目课程学期很重要,尤其是接下来的两周。 这是否可能只与Javascript和HTML有关? 一些指示将不胜感激! 谢谢!
实际上,您几乎一直到那里。 您只需要从 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>