我是PHP的新手,所以如果这看起来非常简单,我会道歉。通过阅读本网站,我已经获得了很多关于其他问题的帮助,我已经尝试了很多尝试解决这个问题的不同例子,但是还是无法解决这个问题。
我有一个网站,某些用户将包含指向其个人博客(外部网站)的链接,而其他用户则不会。我在mySQL表中设置了一个标记为blog
的字段。字段内的数据是一个完整的网址,其中包含http://
。
我想显示如下消息: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
字段是否为空并且链接未从表中提取数据。
我真的不知道我做错了什么。
答案 0 :(得分:1)
您需要在if语句中添加一个条件,以查看$ data [&#39; blog&#39;]中是否有任何内容,否则无论$ data [&#39]中的内容如何,该链接将始终加载;博客&#39;]
例如:
Rails.application.routes.draw do
root 'static_pages#home'
get 'help' => 'static_pages#help'
get 'about' => 'static_pages#about'
get 'contact' => 'static_pages#contact'
get 'signup' => 'users#new'
get 'login' => 'sessions#new'
post 'login' => 'sessions#create'
delete 'logout' => 'sessions#destroy'
resources :users do
resource :profile, only: [:show, :edit, :update ]
end
end
显然,测试&#39;&#39;&#39;可能不适合你,所以你可能不得不将测试调整为类似于&#39; &#39;,null或其他一些。
答案 1 :(得分:0)
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 != '')
代替。
答案 2 :(得分:0)
试试这个
<?php
if ($blog != "") {
echo 'Visit my blog <a href="'.$blog.'" target="_blank">here</a>';
}
?>