Php $\u POST未从表单POST获取选择字段的值

Php $\u POST未从表单POST获取选择字段的值,php,sql,forms,Php,Sql,Forms,我已经为这件事纠结了将近一天了,我想不出这里有什么问题。我需要$\u在这里的SQL语句中发布['brand'],我得到一个空白 // sql for getting nearby stores $sql = "SELECT *, ( 3959 * ACOS( COS( RADIANS(".$_POST['lat'].") ) * COS( RADIANS( latitude ) ) * COS( RADIANS( longitude ) - RADIANS(".$_POST['lng'].")

我已经为这件事纠结了将近一天了,我想不出这里有什么问题。我需要
$\u在这里的SQL语句中发布['brand']
,我得到一个空白

// sql for getting nearby stores
$sql = "SELECT *, ( 3959 * ACOS( COS( RADIANS(".$_POST['lat'].") ) * COS( RADIANS( latitude ) ) * COS( RADIANS( longitude ) - RADIANS(".$_POST['lng'].") ) + SIN( RADIANS(".$_POST['lat'].") ) * SIN( RADIANS( latitude ) ) ) ) AS distance
FROM stores
WHERE brand='".$_POST['brand']."'
HAVING distance <= ".$_POST['distance']."
ORDER BY distance";
美元帖子的内容

array(5) {
    ["ajax"]=> string(1) "1"
    ["action"]=> string(17) "get_nearby_stores"
    ["distance"]=> string(1) "5"
    ["lat"]=> string(11) "-31.9530044"
    ["lng"]=> string(18) "115.85746930000005"
}

那个评论线程太长了

[“ajax”]=>字符串(1)“1”

您似乎正在使用ajax进行发布。我们需要查看您连接到submit按钮的javascript


您可能忘了告诉jQuery(或您正在使用的任何函数)序列化
品牌
select。

Ya,而且,您很容易受到sql注入的攻击。可能希望通过白名单来清理您的输入。打印出$\u帖子,品牌是否显示为空,或者甚至不在数组中?您的代码易受攻击…..坏人会杀死您的dbcan you var\u dump($\u请求)for me?@AJ。您还可以给我们看一下
mysql\u query()
部分吗?如果您使用的是Firebug/Chrome开发者工具,是否可以在网络选项卡中检查
$\u POST['brand']
是否已设置?是的,如果您使用jquery提交,则需要确保发送选定的值,而不是整个值thing@EyalAlsheich你的评论毫无意义。如果使用jQuery,只需使用函数即可。不管这里是什么情况,其他的事情是拦截提交事件并操纵数据+1.
SELECT *, ( 3959 * ACOS( COS( RADIANS(-31.9530044) ) * COS( RADIANS( latitude ) ) * COS( RADIANS( longitude ) - RADIANS(115.85746930000005) ) + SIN( RADIANS(-31.9530044) ) * SIN( RADIANS( latitude ) ) ) ) AS distance FROM stores WHERE brand='' HAVING distance <= 30 ORDER BY distance
array(5) {
    ["ajax"]=> string(1) "1"
    ["action"]=> string(17) "get_nearby_stores"
    ["distance"]=> string(1) "5"
    ["lat"]=> string(11) "-31.9530044"
    ["lng"]=> string(18) "115.85746930000005"
}