2013-03-06 64 views
-1

我想在我的網頁上加載不同的內容,但其中一個$_GET必須在其中有一個空間(導致從數據庫調用它)。那我該怎麼做?
我沒有設置任何鏈接我正在手動嘗試去?route=1&plantsite=Syncrude+Base+Mine頁面,但頁面未加載。

這裏是我的PHP:

require_once('config.inc.php'); 
$gGetRoute = $_GET['route']; 
$gGetPlantSite = $_GET['plantsite']; 


if ((isset($gGetRoute)) && (isset($gGetPlantSite)) { 
    $mysqli = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_BASE); 
    if ($stmt = $mysqli -> prepare("SELECT Latitude, Longitude, Title, Arrival_Time, Direction_Of_Bus, What_Shift FROM Routes WHERE Route_Number = ? AND Plant_Site = ?")) { 
    $stmt -> bind_param('ss', $gGetRoute, $gGetPlantSite); 
    $stmt -> execute(); 
    $stmt -> bind_result($gLatitude, $gLongitude, $gTitle, $gArrivalTime, $gDirectionOfBus, $gwhatShift); 
    } 
} 
+1

使用'%20 '在URL中編碼空格 – 2013-03-06 07:57:00

+0

**你的意思是**頁面沒有加載**?任何錯誤?訪問日誌中沒有記錄?什麼東西?很難從你的代碼中推導出來嗎?它甚至可能是,數據庫查詢是某種錯誤..,未知的列,例如.. – 2013-03-06 08:03:16

回答

1

使用urlencode()urldecode()準備您使用的是變量GET

+0

我怎麼可能在鏈接中發出,它不是從一個窗體發送它只是 Datsik 2013-03-06 08:02:37

+0

@XCritics在你提到的問題中,你使用'plantsite =一些網站w空間',而不是'sitename ='。 – 2013-03-06 08:07:36

+0

所以你把href帶上GET變量並運行urlencode他們 – 2013-03-06 08:38:59

0

我認爲有兩種辦法做的事情:

路1:

urlencode() //For encoding the URL 
urldecode() //For decoding the URL 

方式2:

嘗試設置或獲取變量之前使用裁剪:

trim($_GET['abc']); 

,讓您的多餘的空格刪除

+0

'修剪()'只會擺脫前/後空間,而不是空間之間。 – 2013-03-06 08:21:53

0

使用urldecode()

$gGetRoute = urldecode($_GET['route']); 
$gGetPlantSite = urldecode($_GET['plantsite']);