我有php的代码,当我运行然后显示错误消息
PHP注意:未定义的索引:esn / var / www / html / sat line 10
PHP注意:未定义的索引:lat / var / www / html / sat line 11
PHP注意:未定义的索引:lon / var / www / html / sat line 12
PHP注意:未定义的索引:status / var / www / html / sat line 13
每个人都进行了调用http://domains.com/sat/index.php?esn=value1&lat=value2&lon=value3&status=value4
,调用这些参数的结果总是“NULL”。
我们可能会给这个案子一个解决方案。感谢
以下源代码错误:
if ($_SERVER["REQUEST_METHOD"] == "POST")
{
$postText=file_get_contents('php://input');
//collect value of input field
$esn = $_POST['esn'];
$lat = $_POST['lat'];
$lon = $_POST['lon'];
$status = $_POST['status'];
fwrite($postText);
fclose($FileHandle);
if ($postText)
{
echo "Nomor ESN: ".$esn."<br>";
echo "Latitude: ".$lat."<br>";
echo "Longitude: ".$lon."<br>";
echo "status: ".$status."<br>";
}else{
echo "NULL";
}
}
答案 0 :(得分:1)
您的数据,即使您是通过表单发送的,现在也在URL中,因此它们位于$ _GET而不是$ _POST数组
答案 1 :(得分:0)
使用Post方法访问数据时使用GET方法。所以你得到的变量是null。 使用下面的代码来获取GET方法
if ($_SERVER["REQUEST_METHOD"] == "GET")
{
$postText=file_get_contents('php://input');
//collect value of input field
$esn = $_GET['esn'];
$lat = $_GET['lat'];
$lon = $_GET['lon'];
$status = $_GET['status'];
fwrite($postText);
fclose($FileHandle);
if ($postText)
{
echo "Nomor ESN: ".$esn."<br>";
echo "Latitude: ".$lat."<br>";
echo "Longitude: ".$lon."<br>";
echo "status: ".$status."<br>";
}else{
echo "NULL";
}
}