2013-04-10 16 views
0

我想在html中做一個查詢字符串。 我想通過的字符串是「書封面」。 但我只設法拿到書。 我應該怎麼做呢?查詢字符串(與空格之間)在php html

下面是我的代碼:

<a href=book.php?category=Book Cover>Book Cover</a> 
+2

嘗試引用它='HREF = 「book.php中?類別=圖書封面」' – andrewsi 2013-04-10 13:45:48

+0

^----賓果遊戲,指甲它 – 2013-04-10 13:46:32

+0

沒有一個很好的解決方案......挑釁進行編碼correclty ...空白將是%20 – Chris 2013-04-10 13:47:14

回答

0

看起來你缺少雙引號

<a href="book.php?category=Book Cover">Book Cover</a> 
+0

網址上永遠不應該有空格...應始終應用編碼。 – Chris 2013-04-10 13:48:14

+2

對我以前的城市稅務部門的「真棒」網站,http://www.cityofbrookpark.com/tax%20dept/tax-forms.htm – Uberfuzzy 2013-04-10 13:54:55

+0

@Ufufuzzy記得我時,當我用微軟word和保存創建網站如。html :) – Narek 2013-04-10 14:03:42

5

你需要編碼您所有的查詢字符串瓦爾,例如與rawurlencode/rawurldecode

<a href="book.php?category=<?php echo rawurlencode('Book Cover')?>">Book Cover</a> 

而在PHP中:

$category = rawurldecode($_POST['category']); 
+0

謝謝。這也幫助了我! – 2013-04-10 13:51:27

+0

@ kyle.stearns歡迎! – Narek 2013-04-10 13:52:59

+0

爲我工作!還有一些新的東西! – 2017-11-23 15:00:41

2

在HTML值停在空間:

<a href=book.php?category=Book Cover>Book Cover</a> 
          ^

如果你想在HTML值內的空間,你需要添加引號:既

<a href="book.php?category=Book Cover">Book Cover</a> 
     ^      ^

在HTML單引號和雙引號是允許的。

現在的價值本身有問題,太:

book.php?category=Book Cover 
         `- URL stops here. 

這是一個相對HTTP URL並作爲任何HTTP URL的空格字符是一個特殊值。它通常不能成爲URL的一部分,因此您需要對其進行編碼。這可以作爲在一個HTTP URL的任何其它特殊字符與三重編碼/百分比編碼與他們的十六進制數替換字符(多個)的二進制值:

book.php?category=Book%20Cover 

對於空間你有,歷史上它甚至是一個特殊情況,你也可以用加號對它進行編碼。

後面的問題經常由用戶代理處理,但是HTML中的引號是必需的,否則值會被削減。

一般而言,將屬性值放在HTML(雙引號)內部是很好的做法。所以我建議你這樣做。

1

爲什麼不在編碼之前轉換爲UTF-8?