2015-06-20 91 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

你檢查上面的代碼在新的頁面,它創建鏈接並將鼠標放在該名稱上,然後你可以看到它是否創建鏈接。 .. –