【问题标题】:Undefined index when using $_request使用 $_request 时未定义的索引
【发布时间】:2014-06-13 05:03:56
【问题描述】:

我在使用 $_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}

谁能给我解释一下,谢谢

【问题讨论】:

  • 您如何将值传递给 insert_android.php ?使用 get 或 post
  • 这意味着$_REQUEST没有带有键lat的元素。试试 var_dump($_REQUEST) 看看数组是什么样子的。
  • @Anish : GETPOST 都将被 $_REQUEST 接受
  • 显示您的 html 表单..
  • @Ranjith 同意了。只是想检查他们是否知道:)

标签: php android


【解决方案1】:

使用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?

【讨论】:

  • 即使$_REQUEST 也接受这两种方法。有什么理由更喜欢其中任何一个吗?
  • @user3233176 尝试回显你的两个变量它们的值看起来像没有得到值
【解决方案2】:

坏主意最好直接使用$_GET$_POST,请记住检查您从用户那里获得的值。现在您的代码可以进行盲目的 sql 注入了。

如果您不想使用推荐的 mysqli,请尝试此代码:

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

如果这仍然不起作用,请尝试使用以下两行转储您的输入:

var_dump($_GET);
var_dump($_POST);

【讨论】:

  • 不应该是floatval吗?
  • @Hanky웃Panky 没错,在我的最后一个案例中,我将 lat lon 存储为 int 所以我通过自己的实践写了intval
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-12-08
  • 2014-06-06
  • 2018-02-02
  • 1970-01-01
  • 2019-09-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多