Андрей
Высший разум
(450945)
4 года назад
Сообщение об ошибке синтаксиса показывает не реальное место ошибки, а место, где эта ошибка была замечена парсером. Сама же ошибка допущена в одной из нескольких предшествующих строк. Так что надо смотреть на то, что находится ВЫШЕ if (isset($_COOKIE['login'])).
Зачем ты каждый раз перечитываешь из базы данных id и avatar? Если хранишь в сессии логин и пароль, что тебе мешает хранить там же и прочие параметры пользователя?
вот кусочек кода, который содержит строку с ошибкой, а именно:
if (isset($_COOKIE['login'])) //есть ли переменная с логином в COOKIE. Должна быть, если пользователь при предыдущем входе нажал на чекбокс "Запомнить меня"
<?php
// вся процедура работает на сессиях. Именно в ней хранятся данные пользователя, пока он находится на сайте. Очень важно запустить их в самом начале странички!!!
session_start();
include ("bd.php");// файл bd.php должен быть в той же папке, что и все остальные, если это не так, то просто измените путь
if (!empty($_SESSION['login']) and! empty($_SESSION['password']))
{
//если существует логин и пароль в сессиях, то проверяем их и извлекаем аватар
$login = $_SESSION['login'];
$password = $_SESSION['password'];
$result = mysqli_query("SELECT id,avatar FROM users WHERE login='$login' AND password='$password'",$db);
$myrow = mysqli_fetch_array($result);
//извлекаем нужные данные о пользователе
}
?>
Главная страница
<?php
if (!isset($myrow['avatar']) or $myrow['avatar']=='') {
//проверяем, не извлечены ли данные пользователя из базы. Если нет, то он не вошел, либо пароль в сессии неверный. Выводим окно для входа. Но мы не будем его выводить для вошедших, им оно уже не нужно.
print <<<HERE
Ваш логин:
';
}
в чем тут проблема, может кто знает? подскажите пожалуйста.