我要做的是..。在php(我的login.php的一部分)中,我检查用户密码并以这样的方式登录:
<?php
// some code
session_start();
$query = "SELECT * FROM CRM.Users WHERE Login = '$l_username' AND Password = '$l_password'";
$result = mysql_query($query) or die ( "Error : ".mysql_error() );
while($row = mysql_fetch_assoc($result)){
...
if(mysql_num_rows($result) < 1){
// echo The password or login is wrong
</php>在我的HTML中有:
<div id="dialog" title="Basic dialog">
<p>The password or login is wrong</p>
</div>在我的JS部分我有:
function myfunction()
{
$( function() {
$( "#dialog" ).dialog();
} );
}但是当我用一些测试提交按钮(通过MyFunction()事件)绑定onClick时,我会看到页面中的DIV部分,就像普通的html文本一样。但我不想在条件不成立的时候看到它。所以,我的问题是:
发布于 2016-10-28 06:44:25
下面是解决您的问题的代码:
<?php
if(mysql_num_rows($result) < 1) {
?>
<script>
$(function(){
myFunction();
});
</script>
<?php }?>
<script>
function myfunction()
{
$("#dialog").dialog({
resizable: false,
modal: true,
buttons: {
OK: function() {
$( this ).dialog( "close" );
window.location = 'http://localhost';
}
}
});
}
</script>发布于 2016-10-28 06:45:50
你的密码没问题。只是需要清理一下:
<?php
if (!isset($_SESSION)) {
session_start();
}
$query = "SELECT *
FROM CRM.Users
WHERE Login = '".mysql_real_escape_string($l_username)."'
AND Password = '".mysql_real_escape_string($l_password)."'
LIMIT 1";
$resource = mysql_query($query) or die ("Error : ".mysql_error() );
// If there is one result, the login is successfull
if (mysql_num_rows($result) == 1) {
$record = mysql_fetch_assoc($resource);
$_SESSION['user'] = array(
'id' => $record['id'],
'username' => $record['Username'];
);
// Redirect
header("Location: secure.php");
exit;
}
?>若要检查用户是否已登录:
if (!isset($_SESSION['user'])) {
header("Location: login.php");
exit;
}注意:其他人可能会抱怨mysql_* 函数不安全。而且他们是对的。这些职能不受欢迎。相反,我建议使用mysqli_*
更新
我忘了那个问题是怎么回事。添加对话框可以非常容易地完成。
<script type="text/javascript">
if(!confirm("...")) return;
// redirect here
</script>https://stackoverflow.com/questions/40299205
复制相似问题