2014-02-19 15 views
-3

這裏是我試圖做的事情,當你點擊「打開」按鈕時,變量$ a然後被放置在href的後面,但它只是一直顯示在頁面上,任何人都知道如何防止這種情況,並將$ a變量放在href鏈接的末尾?謝謝如何防止PHP變量顯示在HTML上

?> 
<table> 
<tr> 
<th>Action</th> 
<th>Payout</th> 
<th>Description</th> 
<th>Offer Name</th> 
<th>Action</th> 
</tr> 
</table> 
<?php 
$offername= "SELECT * FROM offers WHERE active = 1"; 
$exec= $mysqli->query($offername); 
if (mysqli_num_rows($exec) == 0){ 
    echo "No Offers Yet"; 
}else{ 
    while ($array=mysqli_fetch_row($exec)){ 
    $a=$array[3]; 
    $x=$array[0]; 
    $y=$array[1]; 
    $z=$array[2]; 
    echo " <tr>\n " . 
     " <td>$z</td>\n" . 
     " <td>$y</td>\n" . 

     " <td>$x</td>\n" . 

     " <td><a href=\"click.php?id=$a\">Open</a></td>\n"; 
}} 

?> 
+12

您已經提出了九個問題並且未接受任何答案。也許接受一些有用的答案將有助於引發對你的問題更好的迴應。 – zeantsoi

+0

什麼一直在頁面上顯示?上面的代碼產生了什麼輸出? –

+0

@zeantsoi,謝謝你的見解。我正要提供一個答案,但現在不會浪費我的時間。 –

回答

1

您正在打印字符串$ a而不是將它的值連接到要回顯的內容。考慮:

echo " <tr>\n " . 
     " <td>".$z."</td>\n" . 
     " <td>".$y."</td>\n" . 

     " <td>".$x."</td>\n" . 

     " <td><a href=\"click.php?id=".$a."\">Open</a></td>\n"; 
+1

因爲PHP仍然會讀取$ z變量,所以只需要在OP問題中使用轉義引號就可以了,因此您不必拼接'​​$ z \ n「'。然而,最好的辦法是,你描述的方式可以減少這種麻煩......無論如何,這就是我的方式。只是想增加2美分的價值。 – greaterKing

2

您可以嘗試雙引號變量。每個人都說重要和好的做法。但是不要忘記,每個人都曾經是PHP和stackoverflow的新手。

echo "<td><a href=\"click.php?id=".$a."\">Open</a></td>\n"; 

我認爲這個問題可能已經從事實,你已經逃離報價這裏

href=\"... 

所以解析器中的文本處理一切,忽視了「$ A」的到來。讓我知道這是否有幫助。