Я только что купил хостинг от 1and1 (немецкий), и у меня проблема. Кажется, сеанс не работает в других файлах. Когда пользователь входит в систему, то ничего не происходит, и я вижу, что зарегистрировано: (пусто) должно быть зарегистрировано как test@mail.com.
Зачем?
То, как я делаю переменные сеанса:
session_start();
$sql = "SELECT * FROM user where email = '$login'";
$result = $conn->query($sql);
$row = mysqli_fetch_array($result);
if(password_verify($password, $row["password"])) {
if (!empty($row["email"]) and !empty($row["password"])) {
$_SESSION["logged"] = $row["id"];
$_SESSION["user"] = ''.$row["email"];
header ("Location: panel.php");
}
}
Все идет хорошо, потому что пользователь перенаправлен на panel.php
Как я называю сессию в navbar.php или panel.php
<?php
session_start();
if(isset($_SESSION["logged"])) echo '
<li class="nav-item"> <a class="nav-link" href="panel.php">User Panel</a> </li>
<li class="nav-item"> <a class="nav-link text-primary" href="logout.php">Logout</a></li>
';
else echo '
<li class="nav-item"> <a class="nav-link" href="login.php">Log in</a> </li>
<li class="nav-item"> <a class="nav-link text-primary" href="register.php">Register</a></li>
';
?>
На моем хостинге в университете все работает как надо. Кто-нибудь может мне посоветовать, что делать?
Ниже я показываю phpinfo от 1and1 и мой универ-сервер:
1and1server
университетский хостинг