2017-02-08 4 views
1

код запроса HTTPСохранение пост содержание переменной

POST /parse.php HTTP/1.1 
Host: mysite.com 
Connection: Keep-Alive 
Content-Length: 26 
Content-Type: application/x-www-urlencoded 

lt=12.123123&ln=123.123123 

кода PHP

//connect to database codes here 
$database = "update name_tbl set lat='".$_GET['lt']."', lng='".$_GET['ln']."' where id=1"; 
mysqli_query($conn, $database) 

Так что моя проблема, я думаю, что это в PHP части, когда я вхожу mysite.com/parse. php? lt = 12.123123 & ln = 123.123123 проверить, работает ли он, но когда я запрашиваю код http на HttpRequest, но значение отправки равно 0,00 0000.

+2

если вы выдачи запроса на запись, ваши переменные будут находиться в '$ _POST', а не' $ _GET'. также, если пользователь устанавливает 'lt' to' '; drop table name_tbl; - ', что-то непредвиденное может случиться, следите за этим. – castis

+1

Прочтите его, используйте его, быстро! http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php – AbraCadaver

+0

@AbraCadaver Не беспокойтесь, данные, приведенные выше, предназначены только для тестирования, и спасибо за предложение. –

ответ

0

Если вы не уверены, является ли запрос пришел к вам через GET или метод POST, вы можете попробовать что-то вроде этого

$lt = isset($_GET['lt']) ? $_GET['lt'] : (isset($_POST['lt']) ? $_POST['lt'] : null); 
$ln = isset($_GET['ln']) ? $_GET['ln'] : (isset($_POST['ln']) ? $_POST['ln'] : null); 

Там может быть другой вариант называется $_REQUEST, который охватывает как $_GET и $_POST, но у него тоже свои причуды. Пожалуйста, прочитанный по следующей ссылке, чтобы получить лучшее представление:

Among $_REQUEST, $_GET and $_POST which one is the fastest?

+0

попробовал, еще 0.000000 –

+0

Попробуйте отладить код, добавив 'print_r ($ _ POST);' и 'print_r ($ _ GET);', чтобы увидеть, действительно ли вы получаете переменные в первую очередь. –

+0

попробовал распечатать на веб-странице 'Array() Array ([lt] => 14.657575 [ln] => 120.984224)' –

Смежные вопросы