2013-03-06 75 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']);