Я пытаюсь проверить, существует ли этот файл cookie, но он просто не работает, когда выполняется здесь в панели навигации Bootstrap.Этот Navbar сохраняется отдельно как navbar.php файл и загружается на другие страницы, используя php include, когда это необходимо.
Я попытался скопировать следующий код проверки cookie в отдельный cookie.php файл, он работал с правильным выводом.
<?php
if (isset($_COOKIE["login"]))
{
echo "COOKIE TRUE";
}
else
{
echo "COOKIE FALSE";
}
?>
Так что, насколько я понимаю, что-то мешает проверке cookie внутри этой панели навигации.Также я проверил этот файл cookie через опцию проверки браузера Chrome, и он отлично там.Это свежее печенье и не истекает в ближайшее время.Вот полный navbar.php код.
<nav class="navbar sticky-top navbar-expand-lg navbar-dark bg-dark">
<a class="navbar-brand" href="http://example.com">
<img src="http://example.com/static/logo.png" width="75" height="75" class="d-inline-block align-top" alt="">
</a>
<?php
if (isset($_COOKIE["login"]))
{
echo "COOKIE TRUE";
}
else
{
echo "COOKIE FALSE";
}
?>
</nav>
Я ожидал, что на странице будет отображаться COOKIE TRUE, но вместо этого всегда было COOKIE FALSE внутри Navbar этого Bootstrap.
Так как вам нужно знать, где я установил этот файл cookie, вот код на моей login.php странице.Включенный database.php имеет указанное местоположение базы данных, и этот код работает, и cookie создается каждый раз, когда я запрашиваю его.
ОБНОВЛЕНИЕ : Спасибо @TheMouseMasterдля указания на ошибки в коде входа.Я использую базу данных SQLite3 для этого входа в php и внес некоторые изменения.
<?php
include 'C:\inetpub\wwwroot\database.php';
if(isset($_POST['btnlogin']))
{
if ($db)
{
$login = $db->query('select email, password from users');
while ($row = $login->fetchArray())
{
$email=$row['email'];
$password=$row['password'];
if ($email==$_POST["txtemail"]&&$password==$_POST["txtpassword"])
{
setcookie("login", "true", time() + (86400 * 30), "/");
header("location: http://example.com");
}
else
{
header("location: http://example.com/register");
}
}
}
$db->close();
}
?>