我尝试制作登录模块。我需要能够显示消息“UNAME OR PASS INCORRECT”,但是当uname和pass不匹配时,我无法显示该错误消息div。
那么,当用户未经过身份验证时,是否有人知道如何显示该div?
提前致谢。
答案 0 :(得分:1)
就像GOV说的那样,你可能想通过ajax调用这样做,因为它不需要用户在尝试登录时离开页面。
如果使用jquery,脚本将非常简单,例如:
$.post(url,{user:UNAME,pass:PASS},function(data){ try{ // EDIT: server MUST return response in text/plain as "true" or "false". // EDIT: if(data) changed to if(data == "true") if(data == "true") window.location = redirectPage; else showError(); }catch(e){ showError(); } }); function showError(){ $('#'+errorDivID).show(); }
其中url
是验证用户和网站的网页的网址。传递组合,如果用户&传递值为true,否则为“false”。
UNAME
和PASS
是包含用户信息的变量,
redirectPage
是您要重定向身份验证用户的网页的网址,
并且errorDivId
是您要显示的div元素的id。错误DIV可能包含警告消息,例如“无效的用户+传递组合!”。
希望这有帮助!
编辑:编辑删除“eval”,因为如果服务器返回布尔值则不需要。
答案 1 :(得分:0)
Ashvin,
您需要为此
使用ajaxhttp://api.jquery.com/jQuery.ajax/
对数据库进行ajax调用,让php将重新发送回UI成功或失败。
如果失败,让我们显示一个不同颜色的div ......
答案 2 :(得分:0)
你确实没有必要专门使用PHP。执行此操作的一个好方法是将模型分离(您的数据库与用户信息以及用于访问和检索数据的查询),您的控制器将所有内容都放在运动中并将数据发送到您的模板和视图(模板)。
上述结构也清楚地表明PHP没有专门用于此,PHP应该只具有访问数据库并将数据提供给模板的角色。
使用Ajax示例查看jQuery或Prototype,一旦掌握了全新世界的开放。 :)
答案 3 :(得分:0)
我认为你可以对一个管理你登录的PHP脚本进行jQuery POST。
<form id='login'>
<input type='text' name='username' id='username'>
<input type='password' name='password' id='password'>
</form>
然后使用jQuery而不是PHP
发布此表单$.post("login.php", { username: username, password: password } );
这会将用户名和密码字段发布到login.php。然后让login.php输出你可以在同一个jQuery脚本中处理的东西。如果登录正确,则返回true,否则返回false,如果PHP脚本返回false,则jQuery显示错误,如果PHP返回true,则jQuery执行正确的登录操作。