有关 if 条件句错误
高洛峰
高洛峰 2016-11-19 14:23:36
0
2
784

写了一个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

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


高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

Antworte allen(2)
学霸

楼上所言甚是。

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

另外要记得,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
{
}
?>


三叔

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

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!