Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Выдаёт ошибку: (T_ENCAPSED_AND_WHITESPACE), expecting '-' or identifier(T_STRING)or variable(T_VARIABLE)or number(T_N...

Антон Тищенко Ученик (97), закрыт 1 год назад
Выдает ошибку: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting '-' or identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING)\

вот кусочек кода, который содержит строку с ошибкой, а именно:
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



Ваш логин:

';
}

в чем тут проблема, может кто знает? подскажите пожалуйста.
Лучший ответ
Андрей Высший разум (450945) 4 года назад
Сообщение об ошибке синтаксиса показывает не реальное место ошибки, а место, где эта ошибка была замечена парсером. Сама же ошибка допущена в одной из нескольких предшествующих строк. Так что надо смотреть на то, что находится ВЫШЕ if (isset($_COOKIE['login'])).

Зачем ты каждый раз перечитываешь из базы данных id и avatar? Если хранишь в сессии логин и пароль, что тебе мешает хранить там же и прочие параметры пользователя?
Антон ТищенкоУченик (97) 4 года назад
Вот то, что выше:
Андрей Высший разум (450945) Объясни, зачем тебе heredoc? Что изменится, если ты заменишь print <<<HERE на ?> а HERE; на <?php
Антон ТищенкоУченик (97) 4 года назад
Вот что выше, но через хост изображений https://go-gl.com/DYIFm
Остальные ответы
Похожие вопросы