PHP:在if语句中链接到外部站点



我对PHP完全陌生,所以如果这看起来很简单,我很抱歉。通过阅读这个网站,我在其他问题上得到了很多帮助,我尝试了很多不同的例子来解决这个问题,但仍然无法解决这个问题。

我有一个网站,一些用户会包括一个链接到他们的个人博客(外部网站),而其他人不会。我在mySQL表中设置了一个字段,标记为blog。字段内的数据是包含http://的完整URL。

我想显示这样的信息:Visit my blog herehere是用户博客站点的链接。

我有以下代码
<?php
if (!isset ($blog)) 
{
?>
    Visit my blog <a href="<?=$data['blog'];?>" target="_blank">here</a>
<?php
}
?>

链接正常工作,但是,如果数据字段为空,它仍然显示,并且链接到代码所在的同一页面。

我试过这个代码:

<?php
if (!isset ($blog)) 
{
    echo "Visit my blog <a href=" . $blog ." target="_blank">here</a>." ;
}
?>

显示echo字段是否为空,以及链接是否从表中提取数据。

我真不知道我做错了什么。

你需要在if语句中添加一个条件来查看$data['blog']中是否有任何内容,否则无论$data['blog']中有什么内容,链接都会加载

例如:

if((!isset($blog)) && ($data['blog'] !== ''))

显然,测试"可能不适合您,所以您可能必须将测试调整为",null或诸如此类的内容。

isset()检查变量是否存在并忽略变量中的值,例如

<?php
var_dump(isset($foo)); // false, $foo was never created
$foo = null;
var_dump(isset($foo)); // true - $foo exists, even though it's been nulled

所以如果你的$blog EVER有一个值赋给它,它将isset()为真。你可能想要

if ($blog != '')

试试这个

<?php
    if ($blog != "") {
        echo 'Visit my blog <a href="'.$blog.'" target="_blank">here</a>';
    }
?>

相关内容

  • 没有找到相关文章

最新更新