Rumah  >  Soal Jawab  >  teks badan

有关 if 条件句错误

写了一个kirby CMS的API,发现不停报错。先上代码:

<?php if(!defined('KIRBY')) die('Direct access is not allowed');
if (isset($_GET['get']) || isset($_GET['transshipment']))
{
  if (isset($_GET['get']) && !isset($_GET['transshipment']))
  {
    if ($_GET['get'] == 'title')
    {
      if (null !== $page->title())
      {
      echo "E303";//no title setted
      die();
      }
    echo $page->text()->title();
    die();
    }
    elseif ($_GET['get'] == 'content')
   {
      if (null !== $page->content())
      {
      echo "E303";//no content setted
      die();
      }
    echo html($site->title()->content());
    die();
    }
    elseif ($_GET['get'] == 'author')
    {
      if (null !== $page->author())
      {
      echo "E303";//no author setted
      die();
      }
    echo $page->author();
    die();
    }
    elseif ($_GET['get'] == 'dates')
    {
      if (null !== $page->dates())
      {
      echo "E303";//no dates setted
      die();
      }
    echo $page->dates();
    die();
    }
    elseif ($_GET['get'] == 'introduction')
    {
      if (null !== $page->introduction())
      {
      echo "E303";//no introduction setted
      die();
      }
    echo $page->introduction();
    die();
    }
    else
    {
    echo "E301";//error API information getting(error after "=")
    die();
    }
  }
  elseif (!isset($_GET['get']) && isset($_GET['transshipment']))
  {
  echo "E302";//error API information getting(error before "=")
  die();
  }
  elseif (isset($_GET['get']) && isset($_GET['transshipment']))
  {
  echo "E304";//error API information getting(getting value override)
  die();
  }
  else
  {
  }
}
else
{
}
?>

保存后在尝试打开时发现报错:

[18-Nov-2016 12:02:14 UTC] PHP Parse error: syntax error, unexpected 'if' (T_IF) in /home/sunhbjaq/public_html/site/templates/work.php on line 2

请问这里哪里有语法错误,谢谢!(新手,请耐心回答,谢谢。)


高洛峰高洛峰2911 hari yang lalu787

membalas semua(2)saya akan balas

  • 欧阳克

    欧阳克2016-11-19 14:24:35

    楼上所言甚是。

    你要把第一行分号后面的东西(隐藏字符)去掉。

    另外要记得,PHP说 第X行出现错误 的时候,一定要从 X-1 行开始找错。

    wKioL1guYhOjQXvkAAA8PZ7t7wQ318.png

    <?php if(!defined('KIRBY')) die('Direct access is not allowed');
    if (isset($_GET['get']) || isset($_GET['transshipment']))
    {
      if (isset($_GET['get']) && !isset($_GET['transshipment']))
      {
        if ($_GET['get'] == 'title')
        {
          if (null !== $page->title())
          {
          echo "E303";//no title setted
          die();
          }
        echo $page->text()->title();
        die();
        }
        elseif ($_GET['get'] == 'content')
       {
          if (null !== $page->content())
          {
          echo "E303";//no content setted
          die();
          }
        echo html($site->title()->content());
        die();
        }
        elseif ($_GET['get'] == 'author')
        {
          if (null !== $page->author())
          {
          echo "E303";//no author setted
          die();
          }
        echo $page->author();
        die();
        }
        elseif ($_GET['get'] == 'dates')
        {
          if (null !== $page->dates())
          {
          echo "E303";//no dates setted
          die();
          }
        echo $page->dates();
        die();
        }
        elseif ($_GET['get'] == 'introduction')
        {
          if (null !== $page->introduction())
          {
          echo "E303";//no introduction setted
          die();
          }
        echo $page->introduction();
        die();
        }
        else
        {
        echo "E301";//error API information getting(error after "=")
        die();
        }
      }
      elseif (!isset($_GET['get']) && isset($_GET['transshipment']))
      {
      echo "E302";//error API information getting(error before "=")
      die();
      }
      elseif (isset($_GET['get']) && isset($_GET['transshipment']))
      {
      echo "E304";//error API information getting(getting value override)
      die();
      }
      else
      {
      }
    }
    else
    {
    }
    ?>


    balas
    0
  • 三叔

    三叔2016-11-19 14:23:51

    我复制了一下,你第一行后面多了点东西,你看看是不是多了什么不可见的字符。

    balas
    0
  • Batalbalas