Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Помогите победить скрипт


Автор: Jazz 20.5.2004, 07:33
Здравствуйте всем!
Данный код записан в файле about.inc Он встраивается в странизу при вызове функции с ключом ?about
При вызове в странице появляется сообщение об ошибке:
Код
Parse error: parse error, unexpected $end in z:\home\hounds.ru\www\content\about.inc on line 26
.
Самое печальное, что строк всего 25. Помогите если сможете.
Код файла:
Код
<table align="center" width="100%" cellspacing="8" cellpadding="0" border="0" background="">
   <tr>
       <td height="40" valign="top">
<?if ($QUERY_STRING){
include("inc/add_menu.html");}?>
       </td></tr><tr>
       <td  <?if ($QUERY_STRING){?>
               colspan=2 valign=top>
<?
if (strstr($QUERY_STRING,"mode=")){
include("content/subscribe.inc");
}else{
$action = "view"; include("content/$QUERY_STRING.inc");
}
?>
               </td>
            <?}else{?>
           valign="top">

<center><div style="font-family:arial,monotype"><b>п ОБУ</b><hr size=1 noshade></div></center>
<?
include ("content/about1.inc");
?>
    </td></tr>
</table>


С уважением.

Автор: Secandr 20.5.2004, 08:39
Код
<?}else{?>

А где }

Автор: Jazz 21.5.2004, 05:06
А если после постановки закрывающих фигурных кавычек ситуация остается прежней?

Автор: Guest 21.5.2004, 06:51
Jazz
В самый конец кода напиши
Код
<? } ?>
и все работает-я у себя проверил.
Именно это тебе и говорил Secandr

Автор: Secandr 23.5.2004, 10:23
Jazz
поставь кавычку после <?}else{?> в нужной строке (может просто в конце файла). Если не выходит, пость опять всё: ошибку и полностью код.

Автор: Jazz 24.5.2004, 06:25
Люди, я конечно прошу прощения за навязчивость, но ситуация остается прежней:

Такой код:
Код
<? include("inc/color.php") ?>
<html>
<head><title></title></head><body>
<table align="center" width="100%" cellspacing="8" cellpadding="0" border="0" background="">
   <tr>
       <td width="100%" height="40" valign="top">
<?if ($QUERY_STRING){
include("inc/add_menu.html");}?>
       </td></tr><tr>
       <td width="100%"<?if ($QUERY_STRING){?> valign=top>
<?
$action = "view";
if ($action) {
include("content/$QUERY_STRING.inc");?>
               </td>
            <?}else{?>
           valign="top">

<center><div style="font-family:arial,monotype"><b>п ОБУ</b><hr size=1 noshade></div></center>
<?
include ("content/about1.inc");
?>
    </td></tr>
</table><?}?>
</body></html>

и такая ошибка в браузере:
Код
Parse error: parse error, unexpected $end in z:\home\hounds.ru\www\content\about.inc on line 26

Автор: Secandr 24.5.2004, 20:46
а где } для закрытия if ($QUERY_STRING){

Я через твой скрипт могу прочитать любой файл на сервере:
include("inc/add_menu.html") - огромная брешь в безопасности.

Мой совет писать хтмл отдельно от кода, примерно так:
Код
<?
include_onec('function.php');
if ($QUERY_STRING)
 {
  $t=$QUERY_STRING+0;//защита, все статьи должны иметь формат 111.php
  $t.=".php";
  $menu=<<<HTM
бла бла бла
HTM;
  }
else
 {
  $t='';
  }
include_onec($t);
show($menu,$text);
?>

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)