2014-01-26 100 views
-1

我在我的頁面上有一個可能有錯誤的鏈接。我不知道這個網頁的網址,但是當用戶點擊這個鏈接時,我想讓同一個頁面刷新並傳遞這些變量進行處理。我在這裏的鏈接似乎工作,但 我關心的是:將變量發送到服務器

,當我瀏覽網頁和打開網頁的源文件,我得到了「&」紅色這對我來說意味着有某種錯誤的高亮顯示。這條線是否符合網絡標準?

<a name="anchorOpen" href="?folder=<?php echo $j; ?>&full=<?php echo 

$fullScreen;?>#anchorOpen" > <img src="<?php print "$firstPic[$j]";?>" 

    class="folderPic"/></a> 

是這種方式來結合通過鏈接傳遞的變量。這條線有什麼問題嗎?謝謝。

回答

0

&符號(&符號)應該寫成HTML格式的&amp;。這是因爲&符號位於保留符號列表中。作爲參考請參閱w3schools

如果您想將整個回聲作爲一個php字符串回顯,還可以使用php htmlentities()函數。

0

的&爲紅色時,表明這一事實使我覺得&不是引號中(「)。 如果你傳遞一個變量到一個網址,你可以考慮使用urlencode()來

<?php 
    echo '<a name="anchorOpen" href="?folder='.urlencode($j).'&full='.urlencode($fullScreen).'#anchorOpen">'; 
    echo '<img src="'.urlencode($firstPic[$j]).'" class="folderPic"/></a>'; 
?> 
+0

我只是確保。我以爲我需要'&'來加入字符串。那是什麼'&'做對了? – james

0

最正確的方法是使用urlencode()變量您在URL中注入。
說,「foo bar」將被轉換爲「foo+bar
或者,「foo&bar」將totall Ÿ打破了URL,所以它會被轉換爲「foo%26bar

所以,在你的例子那就是:

<a href="?folder=<?php echo urlencode($j)?>&full=<?php echo urlencode($fullscreen)?>#anchorOpen"><img src="<?php echo $firstPic[$j]?>" class="folderPic"/></a> 

然後,在PHP腳本,不需要做什麼特別的東西 - 在$ _GET變量將被自動轉換回來,因此您將擁有「foo bar」和「foo&bar」,完全像以前一樣。