如何在$ _GET中处理空格?

时间:2013-03-06 07:55:45

标签: php

我正在尝试在我的网页上加载不同的内容,但其中一个$_GET的HAS中有一个空格(导致它从数据库中调用)。那我该怎么做呢? 我没有设置任何链接我手动尝试通过?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);
  }
}

3 个答案:

答案 0 :(得分:1)

使用urlencode()urldecode()来准备您用于GET的变量

答案 1 :(得分:0)

我认为有两种做法:

方式1:

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

方式2:

尝试在设置或获取变量之前使用修剪:

 trim($_GET['abc']);

这会删除多余的空格

答案 2 :(得分:0)

使用urldecode()

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