自从我开始学习PHP以来已经有几个月了,到目前为止,我已经遇到了几十个问题,幸运的是我能够修复它们,但是今天和问题,不是重复的问题,可能不同,我已经阅读了有关此问题的所有Stack Overflow问题,但它们没有任何帮助。
我收到以下错误:
注意:第99行的/Applications/XAMPP/xamppfiles/htdocs/index.php中的未定义索引:city
这是我的代码:
<?php
$weather = "";
$error = "";
if ($_GET['city']) {
$urlContents = file_get_contents("http://api.openweathermap.org/data/2.5/weather?q=".urlencode($_GET['city']).",uk&appid=Hidden");
$weatherArray = json_decode($urlContents, true);
if ($weatherArray['cod'] == 200) {
$weather = "The weather in ".$_GET['city']." is currently '".$weatherArray['weather'][0]['description']."'. ";
$tempInCelcius = intval($weatherArray['main']['temp'] - 273);
$weather .= " The temperature is ".$tempInCelcius."°C and the wind speed is ".$weatherArray['wind']['speed']."m/s.";
} else {
$error = "Could not find city - please try again.";
}
}
?>
我也在使用xampp,php.ini也在那里。
答案 0 :(得分:2)
从您的代码语法中我认为您的问题在于您获取temp
的方式。您的错误表明它无法在city
中找到city
的索引;所以基本上没有设定。在运行代码之前添加$_GET
检查,以防止出现任何错误:
isset
这将阻止代码运行并避免任何错误;现在检查您的网址,确保其中包含:if ( isset($_GET['city']) ) {
$urlContents = file_get_contents("http://api.openweathermap.org/data/2.5/weather?q=".urlencode($_GET['city']).",uk&appid=Hidden");
//...
}
。这应该可以解决错误。