2015-06-20 83 views
-2

我有点新的PHP。我试图做的是显示用他们的主页链接登录的用户名。这是我的。我怎样才能显示一个用户名作为链接

if (loggedin()) { 
    echo '<a href="HomePage.php"> $user->get_fullname($uid) </a>' ; 
    echo '<a href="logout.php"> Log Out </a>'; 
} 

但是你可以看到它不会显示用户名,它会显示我在链接之间的内容。我不知道该从哪里出发。

+0

这些都不是答案吗? –

回答

3

你想:

if(loggedin()){ 
     echo '<a href ="HomePage.php">'. $user->get_fullname($uid) .'</a>' ; 

     echo '<a href="logout.php"> Log Out </a>'; 
     } 
    else { 

?> 
在PHP单引号

将无法​​解析的变量。一个可选的语法是:

echo "<a href ='HomePage.php'> $user->get_fullname($uid) </a>" ; 
+0

我明白你现在从哪里来。但它只是显示用户名,并没有把它变成一个真正的LINK。 –

+0

@Dagon第二个选项可以不用大括号吗? – kojow7

0

你必须结束与报价的字符串,并将其继续与PHP的变量。运营商。你用字符串连接php变量。

if(loggedin()){ 
    echo '<a href ="HomePage.php">'. $user->get_fullname($uid) .'</a>' ; 

    echo '<a href="logout.php"> Log Out </a>'; 
    } 
else { 
     //do something else 
    } 
3

这是因为变量在双引号内而不是单引号。有很多方法可以解决这个问题,如使单引号的变量外为:

echo '<a href ="HomePage.php">'. $user->get_fullname($uid). '</a>'; 

或更换单引号用双引号,反之亦然,因为它是一个复杂的变量,你会需要使用大括号:所有在整个

echo "<a href ='HomePage.php'>{$user->get_fullname($uid)}</a>"; 

使用双引号和逃避内报价:

echo "<a href =\"HomePage.php\">{$user->get_fullname($uid)}</a>"; 

最后,我最喜欢的方式,如果我有很多HTML鳕鱼e是用定界符语法:

if(loggedin()){ 
     echo <<<HTML 
      <a href ="HomePage.php">{$user->get_fullname($uid)}</a> 
      <a href="logout.php">Log Out</a> 
HTML; 
    } 

?> 

注:当使用HEREDOC符号,你不能把任何东西HEREDOC打开变量(甚至没有空间),并在收盘HEREDOC线没有别的(甚至没有空间)之后。这就是为什么结束HTML;在这里没有缩进,因为在它之前没有空格。

+0

所有的代码只是显示的用户名,我需要的用户名,成为一个链接为好。 –

+0

@motazjalil你必须在别的地方有一个错误。此代码确实能够创建正确的链接。 – kojow7

+0

你确定没有任何其他代码的地方显示的用户名和mabye它甚至没有进入这部分?您可以尝试在代码中回显“Hello”以查看它是否实际得到了这部分内容。另外,请在您的浏览器中查看您的源代码,并查看是否有任何错误(许多浏览器(例如Firefox)将以红色显示问题源代码)。 – kojow7

-1

如果你想显示在PHP一些变量不应该用引号括起来,但如果你想有一个字符串,以显示你希望它是引号内。所以你的情况,你有两个,所以你必须使用一些所谓的串联,对于您使用点(。)在javascript中的你用加号(+)进行连结情况。 所以,你的代码必须像

if(loggedin()){ 
    echo '<a href ="HomePage.php">'. $user->get_fullname($uid) .'</a>' ; 

    echo '<a href="logout.php"> Log Out </a>'; 
    } 
else { 
0
if(loggedin()){ 
$userName = $user->get_fullname($uid); 
if($userName == NULL) $userName = 'USER'; 
if(loggedin()){ 
     echo "<a href ='HomePage.php'>".$userName."</a>"; 

     echo " || <a href='logout.php'> Log Out </a>"; 
     }else{ 
      //if any other then you can... 
     } 
+0

我已经尝试过这种方法,但它也只是显示用户名,并没有把它作为链接 –

+0

你检查上面的代码在新的页面,它创建链接并将鼠标放在该名称上,然后你可以看到它是否创建链接。 .. –

相关问题