0

我正在尝试实现下面的脚本以在假定的页面上打印图像,但这反而会导致页面出现问题。

 <?php
     if ($currentpage == '/services/') {
         print("<img src="path/to/services.png" alt=""/>");
     },
      if ($currentpage == 'contact.php') {
         print("<img src="path/to/image.png" alt=""/>")
     },
     else {
         print("<img src="path/to/image.png" alt=""/>")
     }
     ?>

错误信息是:

解析错误:语法错误,第 173 行 /home/master/public_html/wp-content/themes/siteripe-001/othe-rpages.php 中的意外 T_STRING

4

3 回答 3

3

您在最后两个打印语句的末尾错过了分号。并且还需要转义双引号。您可以在双引号之前使用反斜杠字符来转义它。

于 2012-07-28T15:44:51.543 回答
1

如果块中只有一行代码,则不需要括号。
在您的情况下,将一个if块与elseifand一起使用else比使用多个块更有效if:您总是在测试同一个变量($currentpage),因此只会执行一个块。
我还用单引号替换了一些双引号。

<?php
    if ($currentpage == '/services/')
        print('<img src="path/to/services.png" alt=""/>');
    elseif ($currentpage == 'contact.php')
        print('<img src="path/to/image.png" alt=""/>');
    else
        print('<img src="path/to/image.png" alt=""/>');
?>

第二张图片不应该contact.png代替image.png吗?

于 2012-07-28T15:54:18.463 回答
0

你忘记了一些分号并且你有太多的双引号。您需要嵌套引号,如下所示:

<?php
     if ($currentpage == '/services/') {
         print('<img src="path/to/services.png" alt=""/>');
     },
      if ($currentpage == 'contact.php') {
         print('<img src="path/to/image.png" alt=""/>');
     },
     else {
         print('<img src="path/to/image.png" alt=""/>');
     }
?>
于 2012-07-28T15:45:41.163 回答