考虑以下用于HTML输出的PHP代码:
echo "<div id='logo2'>
<a href='if(checkLanguage()) index.php; else index.php?lang=en;'>
<img src='img/logotext1.png' width='".$logoWidth2."'height='".$logoHeight2."'
border='0';/>
</a>
</div>";
如您所见,由于某些连接错误,a标签中的 if和else条件无法正常工作。非常感谢任何使超链接工作的帮助。
答案 0 :(得分:4)
更改
<a href='if(checkLanguage()) index.php; else index.php?lang=en;'>
通过
<a href='".(checkLanguage() ? 'index.php' : 'index.php?lang=en').">
但是,我会建议:
<div id="logo2">
<a href="<?php echo (checkLanguage() ? 'index.php' : 'index.php?lang=en'); ?>">
<img src="img/logotext1.png" width="<?php echo $logoWidth2; ?>" height="<?php echo $logoHeight2; ?>" border="0" />
</a>
</div>
另外:
答案 1 :(得分:2)
这不是PHP的工作方式......
<?php ?>
<div id="logo2">
<a href="<?= checkLanguage() ? 'index.php' ? 'index.php?lang=en' ?>">
<img src="img/logotext1.png" width="<?= $logoWidth2 ?>" height="<?= $logoHeight2" border="0" /></a>
</div>
请注意,我正在使用简写<?=
构造,它只在PHP配置中启用了short_tags。否则,它必须是<?php echo
。
同样,请注意我将大部分代码用于“html模式”。当你正在做一个主要的非PHP代码时,最好只在非PHP代码中嵌入小<?php ?>
块,而不是乱用回声,引用转义等...任何体面的编辑器值得盐,无论如何都会突出显示PHP代码,因此易读性得到很大改善,PHP部分也能很好地展现出来。
答案 2 :(得分:1)
您尚未使用<?php
和?>
包含PHP部分。
编辑;啊,这是一个很大的echo
语句。最好将所有HTML制作成PHP并在需要时打开PHP标签。也就是说,<div>
和<a>
标记不需要回显 - 只需将它们放在PHP标记之外,然后为<?php
打开if
。< / p>
答案 3 :(得分:1)
建议取出护发素以使您的代码更清洁:
$href = (checkLanguage() ? 'index.php' : 'index.php?lang=en');
echo '
<div id="logo2">
<a href="'.$href.'">
<img src="img/logotext1.png" width="'.$logoWidth2.'" height="'.$logoHeight2.'" border="0" />
</a>
</div>';
答案 4 :(得分:1)
由于您刚刚开始,我已经以最详细和易于理解的格式编写了这段代码。我还删除了您的HTML格式,并将其替换为首选的CSS格式。
<?php
echo '<div id="logo2">';
if(checkLanguage())
{
echo '<a href="index.php">';
}
else
{
echo '<a href="index.php?lang=en">';
}
echo '<img src="img/logotext1.png" style="width: '.$logoWidth2.'px; height: '.$logoHeight2.'px; border: none;" />';
echo '</a>';
echo '</div>';
?>