使用Img源与PHP变量?

时间:2009-05-18 12:07:22

标签: php variables image src

我在detailansicht.php中有以下代码:

<div class="file_description_box">
    <b>Beschreibung:</b><br /><br />
        <?php 
             if(!empty($beschreibung))
                 echo '<div align="center">';
                 echo '<img src="$coverlink" alt="Cover">';
                 echo '</div><br />';
                 echo format_content($beschreibung); 
             **else**
             echo '<i>Keine Beschreibung vorhanden</i>';
        ?>
</div>

但我认为img标签中存在错误。每当我打开页面时,他都会向我显示一个错误:“解析错误:语法错误,第123行的bla / bla / include / detailansicht.php中的意外T_ELSE”(第123行是标记为粗体的else)。 我尝试了几种方法,但我总是得到这个错误。 如果有人可以帮助我,那就太好了。

-sTarbuZz

8 个答案:

答案 0 :(得分:15)

您缺少一些大括号,而您的PHP变量不是嵌入属性。您的代码应如下所示:

<div class="file_description_box">
    <b>Beschreibung:</b><br /><br />
        <?php 
             if(!empty($beschreibung)){
                 echo '<div align="center">';
                 echo '<img src="'.$coverlink.'" alt="Cover">';
                 echo '</div><br />';
                 echo format_content($beschreibung); 
             }else{
                 echo '<i>Keine Beschreibung vorhanden</i>';
                }
        ?>
</div>

请注意,使用PHP的内容并不重要,如果图像标记出现故障而且显示不正确,假设您输入正确,则通常会出现HTML问题

在这种情况下,这是一个PHP问题,因为代码中有一些错误,它与图像标记没有任何关系。

答案 1 :(得分:1)

你缺少大括号:

if () {
...
} else {
...
}

所以你的PHP在语法上不正确,不会被PHP超文本预处理器解析。

答案 2 :(得分:1)

尝试使用花括号:

<?php 
     if(!empty($beschreibung)) {
         echo '<div align="center">';
         echo '<img src="$coverlink" alt="Cover">';
         echo '</div><br />';
         echo format_content($beschreibung); 
      } else {
         echo '<i>Keine Beschreibung vorhanden</i>';
      }
?>

答案 3 :(得分:1)

使用

echo '<img src="', $coverlink', " alt="Cover">';

单引号内的PHP变量将不会被评估

答案 4 :(得分:1)

是的,你错过了花括号。简单地使用制表符很好地格式化代码不会使它成为一个块。

你也错过了img标签的结尾(/&gt;),但这与你的问题无关。

答案 5 :(得分:1)

我会选择alternative syntax,我觉得眼睛与html混合起来更容易:

<? if(!empty($beschreibung)) : ?>
    <div align="center">
        <img src="<?= $coverlink; ?>" alt="Cover">
    </div><br />
    <?= format_content($beschreibung); ?> 
<? else : ?>
    <i>Keine Beschreibung vorhanden</i>
<? endif ; ?>
PS:我并不主张将逻辑放在标记中,只是注意到它可以完成。

编辑:修复了语法错误(;在endif之后而不是:)

答案 6 :(得分:1)

<?php 
     if(!empty($beschreibung)) {
         echo "<div align=\"center\">";
         echo "<img src=\"$coverlink\" alt=\"Cover\">";
         echo "</div><br />";
         echo format_content($beschreibung); 
      } else {
         echo "<i>Keine Beschreibung vorhanden</i>";
      }
?>

答案 7 :(得分:1)

感谢您的所有答案...... 我现在正在尝试克里斯的方法......

带括号的东西......我不知道这是怎么发生的......我没有写原始剧本(我只是添加了封面的部分)而我不认识那里缺少括号,因为$ beschreibung永远不会是空的,我认为如果括号缺失,我会忽略if和else ...