• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Aplikacja internetowa - problem z PHP

HackNation - ogólnopolski hackathon
0 głosów
248 wizyt
pytanie zadane 27 czerwca 2017 w PHP przez vasquez Początkujący (480 p.)

Hej

Piszę aplikację, która polega na wpisaniu jakiegoś miasta, a ona wypiszę pogodę.

Mam problem z PHP wypisuje mi takie dwa błędy: 

Notice: Undefined index: city in C:\xampp\htdocs\myPHP\projectPHP\index.php on line 3

Notice: Undefined variable: weather in C:\xampp\htdocs\myPHP\projectPHP\index.php on line 101

Nie wiem czy to jest wina kodu czy czegoś innego. Robię ta aplikacje na lokalnym serwerze (XAMPP) może to jest przyczyną. 

<?php
    
   if($_GET['city'])
   {
       $forecastPage = file_get_contents("http://www.weather-forecast.com/locations/London/forecasts/latest");
       $PageArray = explode ('3 Day Weather Forecast Summary:</b><span class="read-more-small"><span class="read-more-content"> <span class="phrase">', $forecastPage);
       $SecondPageArray = explode ('</span></span></span>', $PageArray [1]);
       $weather = $SecondPageArray[0];
   }

?>


<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <meta http-equiv="x-ua-compatible" content="ie=edge">

      <title>Weather Scraper</title>
    <style type="text/css">
          
        html 
        { 
          background: url(background.jpg) no-repeat center center fixed; 
          -webkit-background-size: cover;
          -moz-background-size: cover;
          -o-background-size: cover;
          background-size: cover;
        }

        body
        {
            background: none;
        }

        #container
        {
            text-align: center;
            margin-top: 300px;
        }

        h1
        {
            font-size: 50px;
            margin: 0;
        }

        h2
        {
            margin: 0;
        }

        #city
        {
            border:none;
            padding: 10px;
            width: 450px;
            border-radius: 5px;
            margin-top: 30px;
        }

        #button
        {
            border:none;
            border-radius: 5px;
            margin-top: 20px;
            font-size: 25px;
            padding: 5px 10px;
            background-color:#138cc4;
        }

        #button:hover
        {
            background-color:#36a1d2;
        }

        #weather
        {
            background-color: #36d162;
            border-radius: 5px;
            width: 450px;
            margin: 0 auto;
            color: #1e7235;
        }
    </style>
      
  </head>
  <body>
    
       <div id="container">
        <h1>What's The Weather?</h1>
        <h2>Enter the name of a city.</h2>
        <form method="get">
        <input type="text" id="city" name="city" placeholder="Eg. London, Tokyo">
        <p><button type="button" id="button">Submit</button></p>
        </form>
        <div><?php
            if ($weather)
            {
                echo '<div id="weather">'.$weather.'</div>';
            }
        ?></div>
      </div>


    
  </body>
</html>

 

1 odpowiedź

–1 głos
odpowiedź 27 czerwca 2017 przez koder12345 Obywatel (1,570 p.)
wybrane 27 czerwca 2017 przez vasquez
 
Najlepsza

Kod  działa tak, Jak go napisałeś. Po prostu w momencie pierwszego uruchomienia skryptu nie istnieje jeszcze zmienna typu get o nazwie(indexie) 'city'. aby uniknąć takiego zdarzenia należy wyciszyć błędy zmiennej $city a wtedy wszystko powinno działać.

np.

<?php
if(@$_get['city']
{
//tu reszta kodu
}

...
?>

 

komentarz 27 czerwca 2017 przez vasquez Początkujący (480 p.)

Dziękuję bardzo za wyjaśnienie. Taka prosta sprawa laugh

1
komentarz 27 czerwca 2017 przez damenox Obywatel (1,400 p.)

Witam,

Jeszcze lepszym rozwiązaniem byłoby użycie funkcji isset()

http://php.net/manual/pl/function.isset.php

W tym wypadku

<?php
if(isset($_GET['city'])){
// kod
}

 

Pozdrawiam

Podobne pytania

0 głosów
1 odpowiedź 256 wizyt
0 głosów
1 odpowiedź 496 wizyt
0 głosów
1 odpowiedź 462 wizyt

93,626 zapytań

142,551 odpowiedzi

323,045 komentarzy

63,130 pasjonatów

Advent of Code 2025

Top 15 użytkowników

  1. 1452p. - dia-Chann
  2. 1437p. - DziarnowskiJ
  3. 1411p. - Łukasz Piwowar
  4. 1409p. - CC PL
  5. 1388p. - Maurycy W
  6. 1371p. - raydeal
  7. 1369p. - Adrian Wieprzkowicz
  8. 1360p. - Tomasz Bielak
  9. 1335p. - robwarsz
  10. 1296p. - Michal Drewniak
  11. 1269p. - Rafał Trójniak
  12. 1141p. - ssynowiec
  13. 1116p. - rucin93
  14. 1102p. - Dominik Łempicki (kapitan)
  15. 1100p. - Mariusz Fornal
Szczegóły i pełne wyniki

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...