2014-06-13 50 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