我使用的是jQuery Mobile1.4,我有一个登录表单。我想在用户名和密码错误时显示弹出窗口,并在成功时转到另一个页面。问题是,即使成功,只要我点击“登录”,弹出窗口就会显示出来。
$user = isset($_POST['uName']) ? strtolower($_POST['uName']) : '';
$pass = isset($_POST['uPass']) ? $_POST['uPass'] : '';
if (!isset($logins[$user]) or $logins[$user] != $pass) {
echo "<script language=Javascript>
$(document).ready(function() {
$('#login-form').on('submit',function(e) {
e.preventDefault();
$('#popup').popup({ overlayTheme: 'b' });
$('#popup').popup('open');
});
});
</script>";
} else {
echo "<script language=Javascript>
document.location.href='flow.php';
</script>";
}
$logins = array(
'username2' => 'password2',
'username3' => 'password3',
);
?>
<div data-role="main" id="page-content-ajax" class="ui-content jqm-content jqm-fullwidth ">
<div role="main" class="ui-content jqm-content">
<form action="" id="login-form" method="POST" />
<input name="uName" type="text" placeholder="Username" />
<input name="uPass" type="password" />
<button type="submit" id="btn-login" class="ui-btn ui-btn-active ui-btn-icon-right ui-icon-arrow-r" >Login</button>
</form>
</div>
<div data-role="popup" id="popup" data-overlay-theme="b" data-theme="b" style="max-width:400px;">
<div data-role="header" data-theme="a">
<h1>Warning!</h1>
</div>
<div role="main" class="ui-content">
<h3 class="ui-title">Wrong username or password</h3>
<a href="#" class="ui-btn ui-corner-all ui-shadow ui-btn-inline ui-btn-b" data-rel="back" data-transition="flow">Ok</a>
</div>
</div>
</div>发布于 2014-02-12 17:40:38
试着改变:
if (!isset($logins[$user]) or $logins[$user] != $pass) {至:
if (!isset($logins[$user]) || $logins[$user] != $pass) {https://stackoverflow.com/questions/21723773
复制相似问题