#php
#php
Вопрос:
я пытаюсь настроить проверку формы, но продолжаю получать ошибку синтаксического анализа: синтаксическая ошибка, неожиданная T_VARIABLE в строке 146 всякий раз, когда я пытаюсь загрузить страницу.
строки 133-153 моего кода являются
<?php
if (array_key_exists('submit',$_POST)){
//set up layout
echo '<table width="100%" border="0" cellspacing="0" cellpadding="0" style="height: 140px;">
<tr>
<td width="60%" valign="middle"><a href="index.php"><img src="resources/img/kite.png" alt="" width="250" height="101" border="0"/></a></td>
<td width="40%" align="left" valign="middle"></td>
</tr>
</table>
</form></td>
</tr>
</table>';
// Fields that are on form
$expected = array('name', 'email', 'comments');
// Set required fields
$required = array('name', 'comments');
// Initialize array for errors
$errors = array();
exit;
}
?>
заранее большое спасибо!
Комментарии:
1. Я не вижу никаких проблем в этом фрагменте (как и в моей IDE) — вы уверены, что источник ошибки не в строках до 133? Не могли бы вы опубликовать пример кода большего размера?
2. Какой файл указан в сообщении об ошибке? Это тот же файл, что и в вашем сообщении?
3. перед строкой 133 отсутствует php-код, и сообщение об ошибке предназначено для ie6.php — файл, в котором найден код. dreamweaver сообщил о синтаксической ошибке во всех трех строках, содержащих массивы.
4. удалите пробелы между значениями массива, между которыми могут быть какие-то специальные символы.
Ответ №1:
Иногда я получаю такого рода ошибки, когда копирую и вставляю код из внешнего источника (websource или Microsoft Word). В зависимости от используемого вами редактора попробуйте посмотреть, есть ли у вас какая-либо опция для отображения невидимых символов, таких как пробелы, табуляции и новые строки.
Вероятно, у вас есть посторонний символ, который не виден.
Если у вас нет такого редактора, просто сотрите пробел в строке, вызывающей проблему, и добавьте свой собственный пробел, используя пробел или табуляцию.
попробуйте это и дайте нам знать.