根据值和会话显示警报

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了根据值和会话显示警报相关的知识,希望对你有一定的参考价值。

我想要完成的是,如果用户验证列为0,如果用户验证列为1则不会显示该消息,它将回显下面的消息。

所以我有它的工作,但如果他们关闭它我不希望它再次显示该会话。

$db = dbconnect();
    $stmt = $db->prepare("SELECT * FROM users WHERE ID = ?");
    $stmt->bind_param('s', $_SESSION['ID']);
    $stmt->execute();
    $result = $stmt->get_result();

    while ($row = mysqli_fetch_assoc($result)) {
        $id = $row['ID'];
        $verified = $row['Verified'];

      if ($verified == 0) {            

       echo '
        <div class="alert alert-warning alert-dismissible fade show" role="alert">
          Your account has not been verified.
          <button type="button" class="close" data-dismiss="alert" aria-label="Close">
            <span aria-hidden="true">&times;</span>
          </button>
        </div>';

            return true;        

        } else {

         return false;            
     }
  }
答案

您应该设置一个会话变量,以根据从数据库中检索到的值显示警报,如下所示:

php


if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    if (isset($_POST['verifymsg']) {
        $_SESSION['VerifyMessage'] = false;
    }
}

$db = dbconnect();
$stmt = $db->prepare("SELECT * FROM users WHERE ID = ?");
$stmt->bind_param('s', $_SESSION['ID']);
$stmt->execute();
$result = $stmt->get_result();

while ($row = mysqli_fetch_assoc($result)) {
    $id = $row['ID'];

    if (!isset($_SESSION['VerifyMessage']) {
        $_SESSION['VerifyMessage'] = ($row['Verified'] == 0) ? true : false;
     }

  if ($_SESSION['VerifyMessage']) {            

   echo '
<form method="POST" action="yourscript.php">
    <input type="hidden" name="verifymsg" />
    <div class="alert alert-warning alert-dismissible fade show" role="alert">
      Your account has not been verified.
      <button type="button" class="close" data-dismiss="alert" aria-label="Close">
        <span aria-hidden="true">&times;</span>
      </button>
    </div>
</form>';

        return true;        

    } else {

     return false;            
  }
}

在这里,我使用ternary operation设置一个名为'VerifyMessage'的会话变量(如果尚未设置)。我还在html中添加了一个名为<form>verifymsg和隐藏输入。

当此脚本将verifymsg视为post变量时,它会将会话变量设置为false。这可以随心所欲地工作,例如使用ajax,但它显示了一个概念。

以上是关于根据值和会话显示警报的主要内容,如果未能解决你的问题,请参考以下文章

在tablayout viewpager中运行调整选项卡片段

以系列值和丰富的文本格式发送警报通知。

SQL查询根据值和字段名从两个表中获取计数

根据显示的复选框显示警报

还押资源 - 预计时间(以及如何根据下载进度显示警报)

拦截对广告视图的触摸,显示警报,根据响应继续前进