按钮中的会话条件



我已经完成了我的网站的创建,现在我想要我的一个按钮,只有在您登录、检查会话并执行搜索功能时才能运行,但如果没有,则会弹出带有登录表单的模式以询问登录信息。

<div class="col-xs-4 col-md-8">
   <button type="button" name="search" id="search" class="btn btn-info btn-secondary" data-toggle="tooltip modal" data-target="#modal-form" data-placement="top" data-html="true">Search</button>
</div>

这是我的 php

if (isset($_POST["nikName"]) && isset($_SESSION['username'])) {
    $query = "SELECT * FROM employee WHERE MATCH (NIK, name) AGAINST (:nikName IN BOOLEAN MODE) > 0";
    $stmt = $conn->prepare($query); 
    $stmt->bindValue(":nikName", """.$_POST["nikName"].""");
} else if (isset($_POST["nik"]) && isset($_SESSION['username'])) {
    $query = "SELECT * FROM employee WHERE NIK = :nik";
    $stmt = $conn->prepare($query); 
    $stmt->bindValue(":nik", $_POST["nik"]);    
} else {
   // Redirect to login page.
   header('#modal-form');
}

因为我希望会话只在 1 个 html 页面上工作,所以我只需要在那个 1 个 php 文件中写入session_start();,对吗?谢谢。

只提供 HTML,并不能真正帮助解决问题。所以我要在这里做一些假设。

检查是否已发出用户会话和 GET 请求。如果这两个有效,请继续执行搜索查询。否则,您可以将它们重定向到登录页面。

<?php
if (isset($_GET['search'] && isset($_SESSION['username'])) {
  // Do the search query
} else {
   // Redirect to login page.
   header('Location: ./login.php');
   exit();
}

再。如果您提供 PHP 逻辑,说明您是如何做到的,我们也许能够为您提供更相关的帮助。

最新更新