2014-06-13 39 views
0

当我使用$ _Request时出现错误。这是我的代码

$lat2=$_REQUEST['lat']; 
$lng2=$_REQUEST['lng']; 

$flag['code']=0; 

if($r=mysql_query("insert into markers_awal values('','$lat2','$lng2') ",$con)) 
{ 
    $flag['code']=1; 
    echo"hi"; 
} 

这是我的错误。

Notice: Undefined index: lat in C:\xampp\htdocs\MUF_Surabaya\Rute\insert_android.php on line 10 
Notice: Undefined index: lng in C:\xampp\htdocs\MUF_Surabaya\Rute\insert_android.php on line 11 

hi{"code":1} 

任何人可以向我解释,, thnk你

+0

你是如何将值传递给insert_android.php的?使用获得或发布 – Anish

+0

这意味着'$ _REQUEST'没有关键字'lat'的en元素。尝试使用var_dump($ _ REQUEST)来查看数组的外观。 – luttkens

+0

@Anish:'GET'和'POST'都会被'$ _REQUEST'接受 – Ranjith

回答

0

检查值与isset()empty()

$lat2=(isset($_REQUEST['lat']) ? $_REQUEST['lat'] : ''); 
$lng2=(isset($_REQUEST['lng']) ? $_REQUEST['lng'] : ''); 

好让与价值观你正在使用什么方法$_GET$_POST 为什么: - Why should I use $_GET and $_POST instead of $_REQUEST?

+0

即使'$ _REQUEST'也接受这两种方法。有没有任何理由更喜欢他们? – Ranjith

+0

@Ranjith可能是http://stackoverflow.com/questions/368329/why-should-i-use-get-and-post-instead-of-request –

+0

@Rakesh我一直在尝试它,它的工作原理。但我的查询是0 –

0

坏主意好直接使用$_GET$_POST,并请记得检查您从用户那里得到的值。现在你的代码是打开的盲sql注入。

试试这个代码,如果你不想使用recomended的mysqli:

$lat2 = floatval($_POST['lat']); 
$lng2 = floatval($_POST['lng']); 

如果这样还是不行试试这个两行倾销您的输入:

var_dump($_GET); 
var_dump($_POST); 
+1

他们不应该'floatval'? –

+0

@Hanky웃Panky很好,在我的最后一种情况下,我将lat lon存储为int,所以我通过自己的练习编写了'intval'。 – rekire