我被要求使用“直接”HTML和Javascript创建一个独立的webapp,它对现有的PHP应用程序进行用户身份验证(后端是MySQL)。不幸的是,我真的不太了解PHP身份验证的工作方式,而且我宁愿不花费大量时间专门为这个特殊情况学习PHP。
到目前为止,我可以看到两个可能性
1)围绕我的新应用程序创建一个PHP包装器并使用本机PHP身份验证(不喜欢这个)
2)围绕PHP身份验证创建一个简单的REST-ful Web服务(不知道如何做)
还有什么我应该考虑的吗?非常感谢帮助!
答案 0 :(得分:1)
没有一种标准的PHP身份验证方式。通常它涉及在会话中存储一些信息或UID,但很难概括。
您需要通过查看提交位置的表单来了解现有身份验证的工作原理。
例如,如果您发现登录表单类似于
<form id="login" action="login.php">
<input type="text" name"username">
<input type="password" name="password">
</form>
您可以使用AJAX调用模拟表单提交。
这样的调用在JQuery中可能看起来像这样:
<script>
$(document).ready(function() {
$("form#login").bind("submit",function() {
$.post("login.php", "username=INSERTUSERNAMEHERE&password=INSERTPASSWORDHERE");
return false;
});
});
</script>
答案 1 :(得分:0)
没有PHP身份验证这样的东西。它是:
也许您的网站可以调用PHP webapp的登录页面,并检查它是否成功。
答案 2 :(得分:0)
“PHP身份验证”通常接受用户名和密码,随后(如果它们是正确的)将当前会话标记为“以某种方式登录”。
使用正确的凭据通过Ajax提交应用程序的登录表单可能就足够了。
答案 3 :(得分:0)
这就是我要做的事情:
$('form#login').submit(function(e){
e.preventDefault();
var formValues = $(this).serialize();
$.ajax({
url: 'login.php',
type: 'POST',
dataType: 'html',
data: formValues,
success: function(data, textStatus, xhr) {
$('.login-response').html(data);
}
});
});
你的html会是这样的:
<form id="login" action="login.php">
<input type="text" name"username">
<input type="password" name="password">
<div class="login-response"</div>
</form>