我对PHP完全陌生,所以如果这看起来很简单,我很抱歉。通过阅读这个网站,我在其他问题上得到了很多帮助,我尝试了很多不同的例子来解决这个问题,但仍然无法解决这个问题。
我有一个网站,一些用户会包括一个链接到他们的个人博客(外部网站),而其他人不会。我在mySQL表中设置了一个字段,标记为blog
。字段内的数据是包含http://
的完整URL。
我想显示这样的信息:Visit my blog here
。here
是用户博客站点的链接。
<?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>';
}
?>