Obsidian2010 0 / 0 / 0 Регистрация: 25.09.2012 Сообщений: 21 |
||||
1 |
||||
20.10.2015, 21:43. Показов 8599. Ответов 7 Метки нет (Все метки)
Подскажите, в чём ошибка?
__________________
0 |
Programming Эксперт 94731 / 64177 / 26122 Регистрация: 12.04.2006 Сообщений: 116,782 |
20.10.2015, 21:43 |
Ответы с готовыми решениями: Ошибка Statement expected but end of file found Ошибка: project1.lpr(1,1) Fatal: Syntax error, «BEGIN» expected but «end of file» found Ошибка: Syntax error, «BEGIN» expected but «end of file» found {$mode objfpc}{$H+} interface uses Ошибка: syntax error, unexpected end of file, expecting end Для любого целого k обозначим количество цифр… 7 |
15131 / 6405 / 1730 Регистрация: 24.09.2011 Сообщений: 9,999 |
|
20.10.2015, 21:49 |
2 |
Ошибка Syntax error Expected: end of statement Нет ошибки, программа компилируется и работает со значениями по умолчанию.
0 |
0 / 0 / 0 Регистрация: 25.09.2012 Сообщений: 21 |
|
20.10.2015, 21:51 [ТС] |
3 |
а у меня прерывается программа, указывая на ошибку syntax error
0 |
15131 / 6405 / 1730 Регистрация: 24.09.2011 Сообщений: 9,999 |
|
20.10.2015, 22:02 |
4 |
а у меня прерывается программа, указывая на ошибку syntax error Напишите хотя бы — в какой строке ошибка? В VBA какого приложения Вы работаете?
0 |
0 / 0 / 0 Регистрация: 25.09.2012 Сообщений: 21 |
|
20.10.2015, 22:42 [ТС] |
5 |
Напишите хотя бы — в какой строке ошибка? В VBA какого приложения Вы работаете? Function Площадь(n As Double, k As Double) As Double — в этой строке. А эту строку выделяет красным y = Atn(n/k*Sqr(Abs(n-k)))*3^(n*k)/(Exp(-1/Tan(n))*Log(Abs(n-k)))
0 |
15131 / 6405 / 1730 Регистрация: 24.09.2011 Сообщений: 9,999 |
|
20.10.2015, 22:55 |
6 |
Obsidian2010, м-да, чудеса Код 100% рабочий (в Excel 2007), попробуйте скопировать его из своего поста, вставить в новую книгу и запустить.
0 |
0 / 0 / 0 Регистрация: 25.09.2012 Сообщений: 21 |
|
20.10.2015, 23:32 [ТС] |
7 |
http://rghost.ru/8FwjgRSBS
0 |
15131 / 6405 / 1730 Регистрация: 24.09.2011 Сообщений: 9,999 |
|
20.10.2015, 23:53 |
8 |
Obsidian2010, работает Миниатюры
1 |
IT_Exp Эксперт 87844 / 49110 / 22898 Регистрация: 17.06.2006 Сообщений: 92,604 |
20.10.2015, 23:53 |
Помогаю со студенческими работами здесь Ошибка «project1.lpr(35,0) Fatal: Syntax error, «BEGIN» expected but «end of file» found» Ошибка «Syntax error, «BEGIN» expected but «end of file» found» Ошибка «Fatal: Syntax error, «BEGIN» expected but «END» found» {$mode objfpc}{$H+} interface uses Ошибка [Error] Unit5.pas(53): Statement expected but ‘PROCEDURE’ found interface uses Ошибка: Parse error: syntax error, unexpected end of file in Parse error: syntax error,… Ошибка в форме обратной связи: Parse error: syntax error, unexpected $end Искать еще темы с ответами Или воспользуйтесь поиском по форуму: 8 |
-
Юбилейный DevConfX пройдет 21-22 июня в Москве. Как всегда — Вы решаете, кто попадет в программу секции Backend — голосуйте за интересные доклады
-
Автор темы
Mishcka
-
Дата начала
2 Сен 2010
- Статус
- В этой теме нельзя размещать новые ответы.
-
#1
Ужаснейшая и очень грустная ошибка Parse error: syntax error, unexpected $end
Ужаснейшая и очень грустная ошибка Parse error: syntax error, unexpected $end
Превед, робяты! Возникла непредвиденная ошибка:
Parse error: syntax error, unexpected $end in /home/vhosts/plotnikova.com/wp-admin/includes/update.php on line 48.
Кто знает что за фигня?
Вот код:
<?php
$local_package = isset( $wp_local_package ) ? $wp_local_package : »;
?>
-
#2
закрывающая фигурная скобка где-то забыта
-
#5
Автор оригинала: Adelf
закрывающая фигурная скобка где-то забыта
Ага, только я не пойму где
Я гуглил сначала — не помогло, именно поэтому я обратился в этот форум.
Автор оригинала: zerkms
ну и phpfaq.ru/debug
На фиг мне отладчик — я знаю что за ошибка, но не в курсе как ее исправить
-~{}~ 02.09.10 07:26:
Я отредактировал сообщение и оставил в коде только строку с ошибкой.
-
#6
http://phpclub.ru/paste приведи весь код.
-
#7
если ты знаешь что за ошибка, то почему не указал её в коде? в приведённой строке этой ошибки нет.
-
#8
Автор оригинала: zerkms
если ты знаешь что за ошибка, то почему не указал её в коде? в приведённой строке этой ошибки нет.
Но где-то там.
-~{}~ 02.09.10 08:39:
-
#9
увы, но эта ошибка не из-за этой строки. моя ссылка про осмысление процесса отладки всё таки в силе. читай.
-
#10
Ошибки
> syntax error, unexpected $end
В приведенном тобой коде нет.
-~{}~ 02.09.10 14:05:
Скорее всего, твой файл тупо не залился по FTP полностью
-~{}~ 02.09.10 14:05:
Сравни размеры.
-
#11
Автор оригинала: Активист
Сравни размеры.
Заливал уже файл раз 5. Сравнил размеры — совпадают. Мракобесие
-
#12
Mishcka
прямо на хосте отлаживай.
для таких ошибок подходит метод постепенного сокращения кода.
удаляешь блоки кода до тех пор, пока ошибка не станет видна
-
#13
Mishcka
Для таких как ты, сделали подсветку ошибок в IDE, ты в чем пишешь код?
-
#14
Автор оригинала: c0dex
Mishcka
Для таких как ты, сделали подсветку ошибок в IDE, ты в чем пишешь код?
У меня есть подсветка в Rapid PHP 2010.
Я подсчитал количество открывающих и закрывающих фигурных и обычных скобок — количества совпадают.
-~{}~ 02.09.10 16:08:
Автор оригинала: *****
Mishcka
прямо на хосте отлаживай.
для таких ошибок подходит метод постепенного сокращения кода.
удаляешь блоки кода до тех пор, пока ошибка не станет видна
Ага, я уже удалил все строки из этого файла, он занимает 0 байт, НО ошибка осталась и по-прежнему на 48-й строке, похоже пора отдохнуть и пить успокаивающее
-
#15
обячная хрень, отлаживаешь одно, а работает другое.
там часом никаких акселераторов нет, которые могли бы закешировать код?
-
#16
Автор оригинала: dimagolov
обячная хрень, отлаживаешь одно, а работает другое.
там часом никаких акселераторов нет, которые могли бы закешировать код?
Не знаю что это и не знаю как узнать стоит или нет.
-
#17
dimagolov
Вот уж не думал, что человек, добравшийся до уставновки какого-нибудь акселератора, стал бы писать тут такое.
Mishcka
Подсветка ошибок есть красным цветом?
-
#18
еще в опере есть свойство, что если сервер отдает пустую страницу(в том числе и с кодом 500), либо вообще не резолвится, то она упорно показывает предыдущий успешный результат — т.е. страницу с текстом ошибки, если только не было передано no-cache.
-
#19
обычно такая фигня когда заливаешь файл в рабочую систему, то есть пока файл копируется кто-то к нему обратился, к недокаченному
-
#20
berkut
Засунул в IDE, ошибок не обнаружил, но apache отдал 500 ошибку, Undefied Function в контенте, FireFox показал 500 ошибку))
Скорее в этои и есть проблема, юзай Firefox =)
- Статус
- В этой теме нельзя размещать новые ответы.
Если программа на PHP написана синтаксически некорректно, то интерпретатор выводит на экран соответствующее сообщение, а также указание на файл и строчку в нём, где по его мнению произошла ошибка. Синтаксическая ошибка возникает в том случае, когда код был записан с нарушением грамматических правил. В человеческих языках грамматика важна, но текст с ошибками чаще всего можно понять и прочитать. В программировании всё строго. Любое мельчайшее нарушение — и программа даже не запустится. Примером может быть забытая ;
, неправильно расставленные скобки и другие детали.
Вот пример кода с синтаксической ошибкой:
<?php
print_r('Hodor')
Если запустить код выше, то мы увидим следующее сообщение: $ PHP Parse error: syntax error, unexpected end of file in /private/var/tmp/index.php on line 4
. Подобные синтаксические ошибки в PHP относятся к разряду «Parse error». Как видно, в конце приводится путь до файла и номер строчки.
С одной стороны, ошибки «Parse error» — самые простые, потому что они связаны исключительно с грамматическими правилами написания кода, а не с самим смыслом кода. Их легко исправить: нужно лишь найти нарушение в записи.
С другой стороны, интерпретатор не всегда может чётко указать на это нарушение. Поэтому бывает, что забытую скобку нужно поставить не туда, куда указывает сообщение об ошибке.
Задание
Это задание не связано с уроком напрямую. Но будет полезным потренироваться с выводом на экран.
Выведите на экран What Is Dead May Never Die
.
Если вы зашли в тупик, то самое время задать вопрос в «Обсуждениях». Как правильно задать вопрос:
- Обязательно приложите вывод тестов, без него практически невозможно понять что не так, даже если вы покажете свой код. Программисты плохо исполняют код в голове, но по полученной ошибке почти всегда понятно, куда смотреть.
В моей среде код работает, а здесь нет 🤨
Тесты устроены таким образом, что они проверяют решение разными способами и на разных данных. Часто решение работает с одними входными данными, но не работает с другими. Чтобы разобраться с этим моментом, изучите вкладку «Тесты» и внимательно посмотрите на вывод ошибок, в котором есть подсказки.
Мой код отличается от решения учителя 🤔
Это нормально 🙆, в программировании одну задачу можно выполнить множеством способов. Если ваш код прошел проверку, то он соответствует условиям задачи.
В редких случаях бывает, что решение подогнано под тесты, но это видно сразу.
Прочитал урок — ничего не понятно 🙄
Создавать обучающие материалы, понятные для всех без исключения, довольно сложно. Мы очень стараемся, но всегда есть что улучшать. Если вы встретили материал, который вам непонятен, опишите проблему в «Обсуждениях». Идеально, если вы сформулируете непонятные моменты в виде вопросов. Обычно нам нужно несколько дней для внесения правок.
Кстати, вы тоже можете участвовать в улучшении курсов: внизу есть ссылка на исходный код уроков, который можно править прямо из браузера.
Определения
-
Синтаксическая ошибка — нарушение грамматических правил языка программирования.
-
Parse error (ошибка парсинга) — тип ошибок в PHP, возникающих при наличии синтаксических ошибок в коде.
Нашли ошибку? Есть что добавить? Пулреквесты приветствуются https://github.com/hexlet-basics
Моя ошибка:
Parse error: syntax error, unexpected end of file in the line
Мой код:
<html>
<?php
function login() {
// код функции логина
}
if (login())
{?>
<h2>Добро пожаловать, администратор</h2>
<a href=»upload.php»>Загрузка файлов</a>
<br />
<a href=»points.php»>Редактирование подсчета очков </a>
<?php}
Else {
echo «Недопустимый логин. Попробуйте еще раз»;
}
?>
Некоторый HTML код
</html>
В чем проблема?
Ответ 1
Вам следует избегать этого (в конце вашего кода):
{?>
или этого:
<?php}
Не следует ставить скобки непосредственно рядом с php тегом открытия/закрытия и разделять его пробелом:
{ ?>
<?php {
также избегайте ”<?” и используйте “<?php”
Ответ 2
У меня была такая же ошибка, но я исправил ее, изменив файл php.ini. Откройте его в своем любимом редакторе.
Найдите свойство short_open_tag и примените следующее изменение:
; short_open_tag = Off ; предыдущее значение
short_open_tag = On ; новое значение
Ответ 3
Есть два разных метода обойти ошибки синтаксического анализа.
Метод 1 (ваш файл PHP)
Избегайте в вашем файле PHP этого:
<? } ?>
Убедитесь, что вы поставили это так:
<?php ?>
Ваш код содержит ”<? ?>”
ПРИМЕЧАНИЕ: Отсутствует php после ”<?!”
Метод 2 (файл php.ini)
Также есть простой способ решить вашу проблему. Найдите значение свойства short_open_tag (откройте в текстовом редакторе с помощью Ctrl + F!) И примените следующее изменение:
; short_open_tag = Off
Замените на:
short_open_tag = On
Согласно описанию основных директив php.ini, short_open_tag позволяет использовать короткий открытый тег ( <?), хотя это может вызвать проблемы при использовании с xml ( ”<?xml” не будет работать, если он активен)!
Ответ 4
Обратите внимание на закрывающие идентификаторы heredoc.
Неверный пример:
// Это не работает!!!
function findAll() {
$query=<<<SQL
SELECT * FROM `table_1`;
SQL; // <——— Здесь ошибка
// …
}
Это вызовет исключение, подобное следующему:
<br />
<b>Parse error</b>: syntax error, unexpected end of file in <b>[…][…]</b> on line <b>5</b><br />
где цифра 5 может быть номером последней строки вашего файла.
Согласно руководству по php:
Предупреждение: Очень важно отметить, что строка с закрывающим идентификатором не должна содержать никаких других символов, кроме точки с запятой (;). Это, в частности, означает, что идентификатор не может иметь отступа, а также не должно быть никаких пробелов или табуляции до или после точки с запятой. Также важно понимать, что первый символ перед закрывающим идентификатором должен быть новой строкой, как это определено локальной операционной системой. Это n в системах UNIX, включая macOS. Закрывающий разделитель также должен сопровождаться новой строкой.
TL ; DR : закрывающие идентификаторы НЕ должны иметь отступ.
Работающий пример:
function findAll() {
$query=<<<SQL
SELECT * FROM `table_1`;
SQL;
// закрывающий идентификатор не должен иметь отступ, хотя это может выглядеть некрасиво
// …
}
Ответ 5
Я обнаружил несколько ошибок, которые исправил ниже.
Вот, что я получил в итоге:
if (login())
{?>
<h2> Добро пожаловать, администратор </h2>
<a href=»upload.php»> Загрузка файлов </a>
<br />
<a href=»points.php»> Редактирование подсчета очков </a>
<?php}
else {
echo » Недопустимый логин. Попробуйте еще раз «;
}
Вот, как бы я это сделал:
<html>
Некоторый код
<?php
function login(){
if (empty ($_POST[‘username’])) {
return false;
}
if (empty ($_POST[‘password’])) {
return false;
}
$username = trim ($_POST[‘username’]);
$password = trim ($_POST[‘password’]);
$scrambled = md5 ($password . ‘foo’);
$link = mysqli_connect(‘localhost’, ‘root’, ‘password’);
if (!$link) {
$error = «Невозможно подключиться к серверу базы данных «;
include ‘error.html.php’;
exit ();
}
if (!mysqli_set_charset ($link, ‘utf8’)) {
$error = «Невозможно установить кодировку подключения к базе данных «;
include ‘error.html.php’;
exit ();
}
if (!mysqli_select_db ($link, ‘foo’)) {
$error = «Невозможно найти базу данных foo «;
include ‘error.html.php’;
exit ();
}
$sql = «SELECT COUNT(*) FROM admin WHERE username = ‘$username’ AND password = ‘$scrambled'»;
$result = mysqli_query ($link, $sql);
if (!$result) {
return false;
exit ();
}
$row = mysqli_fetch_array ($result);
if ($row[0] > 0) {
return true;
} else {
return false;
}
}
if (login()) {
echo ‘<h2> Добро пожаловать, администратор </h2>
<a href=»upload.php»> Загрузка файлов </a>
<br />
<a href=»points.php»> Редактирование подсчета очков </a>’;
} else {
echo » Недопустимый логин. Попробуйте еще раз «;
}
?>
Некоторый HTML код
</html>