首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >按某些条件在HTML页面中创建一个对话框

问按某些条件在HTML页面中创建一个对话框
EN

Stack Overflow用户
提问于 2016-10-28 06:22:14
回答 2查看 137关注 0票数 0

我要做的是..。在php(我的login.php的一部分)中,我检查用户密码并以这样的方式登录:

代码语言:javascript
复制
<?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中有:

代码语言:javascript
复制
<div id="dialog" title="Basic dialog">
  <p>The password or login is wrong</p>
</div>

在我的JS部分我有:

代码语言:javascript
复制
function myfunction() 
    {

     $( function() {
       $( "#dialog" ).dialog();
     } );

}

但是当我用一些测试提交按钮(通过MyFunction()事件)绑定onClick时,我会看到页面中的DIV部分,就像普通的html文本一样。但我不想在条件不成立的时候看到它。所以,我的问题是:

  1. 如何实现密码/登录检查、抛出对话框以及当用户单击“确定”时,我希望将用户拉出到index.php页面
  2. 条件为false时如何隐藏对话框的DIV
EN

回答 2

Stack Overflow用户

发布于 2016-10-28 06:44:25

下面是解决您的问题的代码:

代码语言:javascript
复制
<?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>
票数 0
EN

Stack Overflow用户

发布于 2016-10-28 06:45:50

你的密码没问题。只是需要清理一下:

代码语言:javascript
复制
<?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;
}
?>

若要检查用户是否已登录:

代码语言:javascript
复制
if (!isset($_SESSION['user'])) {
    header("Location: login.php");
    exit;
}

注意:其他人可能会抱怨mysql_* 函数不安全。而且他们是对的。这些职能不受欢迎。相反,我建议使用mysqli_*

更新

我忘了那个问题是怎么回事。添加对话框可以非常容易地完成。

代码语言:javascript
复制
<script type="text/javascript">
if(!confirm("...")) return;
// redirect here
</script>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40299205

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档