PHP Parse error: syntax error, unexpected end of file in index.php line 100

379
10 июля 2017, 15:22

Мой код:

<?php 
          // вся процедура работает на сессиях. Именно в ней хранятся    данные пользователя, пока он находится на сайте. Очень важно запустить их в    самом начале странички!!!
          session_start();          
include ("bd.php");// файл bd.php должен быть в той же папке, что и    все остальные, если это не так, то просто измените путь           
if    (!empty($_SESSION['login']) and !empty($_SESSION['password']))
            {
            //если существует логин и пароль в сессиях, то проверяем их и    извлекаем аватар
            $login    = $_SESSION['login'];
            $password    = $_SESSION['password'];
            $result    = mysql_query("SELECT id,avatar FROM users WHERE login='$login' AND    password='$password'",$db); 
            $myrow    = mysql_fetch_array($result);
            //извлекаем нужные данные о пользователе
            }
            ?>
            <html>
            <head>
            <title>Главная    страница</title>
            </head>
            <body>
            <h2>Главная    страница</h2>          
<?php
            if    (!isset($myrow['avatar']) or $myrow['avatar']=='') {
            //проверяем, не извлечены ли данные пользователя из базы. Если    нет, то он не вошел, либо пароль в сессии неверный. Выводим окно для входа.    Но мы не будем его выводить для вошедших, им оно уже не нужно.
print    <<<HERE
            <form    action="testreg.php" method="post">
            <!-- testreg.php - это адрес обработчика. То есть, после нажатия на кнопку    "Войти", данные из полей отправятся на страничку testreg.php методом "post"  -->
              <p>
                <label>Ваш логин:<br></label>
                <input    name="login" type="text" size="15"    maxlength="15"
HERE;
            if (isset($_COOKIE['login'])) //есть    ли переменная с логином в COOKIE. Должна быть,    если пользователь при предыдущем входе нажал на чекбокс "Запомнить    меня" 
            {
            //если да, то вставляем в форму ее значение. При этом    пользователю отображается, что его логин уже вписан в нужную графу
            echo    ' value="'.$_COOKIE['login'].'">';
            }          

print <<<HERE
              </p>
            <!-- В текстовое поле (name="login" type="text") пользователь вводит свой    логин -->  
              <p>
                <label>Ваш пароль:<br></label>
                <input    name="password" type="password" size="15"    maxlength="15"
HERE;

            if (isset($_COOKIE['password']))//есть    ли переменная с паролем в COOKIE. Должна быть,    если пользователь при предыдущем входе нажал на чекбокс "Запомнить    меня" 
            {
            //если да, то вставляем в форму ее значение. При этом пользователю    отображается, что его пароль уже вписан в нужную графу
            echo    ' value="'.$_COOKIE['password'].'">';
            }

print    <<<HERE
              </p>
            <!-- В поле для паролей (name="password"    type="password") пользователь вводит свой пароль -->  
              <p>
                <input name="save" type="checkbox"    value='1'> Запомнить меня.
              </p>          
<p>
            <input    type="submit" name="submit" value="Войти">
            <!-- Кнопочка (type="submit") отправляет данные на страничку testreg.php     --> 
            <br>
            <!-- ссылка на регистрацию, ведь как-то же должны гости    туда попадать  --> 
            <a    href="reg.php">Зарегистрироваться</a> 
            </p></form>
            <br>
            Вы    вошли на сайт, как гость<br><a    href='#'>Эта    ссылка доступна только зарегистрированным пользователям</a>
HERE;
            }          
else 
            {
            //при удачном входе пользователю выдается все, что расположено    ниже между звездочками.
            //************************************************************************************          
print <<<HERE
<!-- Между оператором     "print <<<HERE" выводится html код с нужными    переменными из php -->
            Вы    вошли на сайт, как $_SESSION[login] (<a    href='exit.php'>выход</a>)<br>
            <!-- выше ссылка на выход из аккаунта -->          
<a    href='http://tvpavlovsk.sk6.ru/'>Эта    ссылка доступна только зарегистрированным пользователям</a><br>
            Ваш    аватар:<br>
            <img    alt='$_SESSION[login]' src='$myrow[avatar]'> 
            <!-- Выше отображается аватар. Его адрес содержит    переменная $myrow[avatar] -->          
<!-- Именно здесь можно добавлять формы для отправки    комментариев и прочего... -->          
HERE;          
//************************************************************************************
            //при удачном входе пользователю выдается все, что расположено    ВЫШЕ между звездочками.
            }
?>
            </body>
            </html>

Как исправить на линии 100 она последняя ?

Answer 1

У вас беда вот тут

<!-- Именно здесь можно добавлять формы для отправки    комментариев и прочего... -->          
HERE;          <---Вот тут кончается строка

Удалите все пробелы после HERE;

Документация нам говорит, что

Очень важно отметить, что строка с закрывающим идентификатором не должна содержать других символов, за исключением точки с запятой (;). Это означает, что идентификатор не должен вводиться с отступом и что не может быть никаких пробелов или знаков табуляции до или после точки с запятой.

READ ALSO
Высота адресной строки браузера

Высота адресной строки браузера

Можно ли каким-нибудь способом узнать высоту адресной строки браузера на телефоне (jquery)?

400
Как запретить изменять размер ячеек CKEditor

Как запретить изменять размер ячеек CKEditor

Во время пользования CKEditor обнаружил что размер ячейки таблицы изменяется в зависимости от количества содержимогоКак это исправить? https://jsfiddle

366
Не работает фильтр коллекции в Spinner. C# xamarin

Не работает фильтр коллекции в Spinner. C# xamarin

Суть данной части приложения: Есть два спиннераПервый спиннер показывает тип продукта (например овощи, фрукты) и при его выборе другой список...

372