我已经完成了我的网站的创建,现在我想要我的一个按钮,只有在您登录、检查会话并执行搜索功能时才能运行,但如果没有,则会弹出带有登录表单的模式以询问登录信息。
<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 逻辑,说明您是如何做到的,我们也许能够为您提供更相关的帮助。