Я пишу скрипт в PHP. Как только пользователь зашел на сайт, я установил файл cookie для запуска:
$cookie_name = "logged";
$cookie_value = $row['uid'];
setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/");
Затем они перенаправляются на главную страницу. Однако вместо того, чтобы встречаться с окном входа в верхнем правом углу веб-страницы, я хочу, чтобы форма скрывалась и отображалась информация о пользователе. Однако на данный момент окно регистрации остается, даже когда cookie установлен. Вот код для окна входа:
if (!isset($_COOKIE[$cookie_name])) {
echo '<form action="attempt.php" method="post">
<div align="right"><br />
Email Address:<br />
<input type="text" name="mail"><br />
Password:<br />
<input type="password" name="pword"><br />
<input type="submit" value="Login" />
</div>
</form>
<div align="right"><br />
</div>';
} else {
print '<a href=" . $_COOKIE[$cookie_name] . ".php">View my profile.</a>';
}
Заранее благодарю за любой совет :)
Я думаю, вы не инициализировали $ cookie_name в форме входа.
Попробуй это:
$cookie_name = "logged";//add this before checking
if (!isset($_COOKIE[$cookie_name])) {
echo '<form action="attempt.php" method="post">
<div align="right"><br />
Email Address:<br />
<input type="text" name="mail"><br />
Password:<br />
<input type="password" name="pword"><br />
<input type="submit" value="Login" />
</div>
</form>
<div align="right"><br />
</div>';
} else {
print '<a href="' . $_COOKIE[$cookie_name] . '".php">View my profile.</a>';
}
Если это не решит проблему, попробуйте установить error_reporting (E_ALL) и покажите нам какие-либо уведомления или предупреждения.
$cookie_name
на домашней странице после того, как перенаправили пользователя на нее после установки cookie? Также вы можете использовать сессию вместо куки, чтобы поддерживать логин пользователя в сессии.