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

Jak uniknąć "Notice: Undefined variable" ?

0 głosów
1,274 wizyt
pytanie zadane 17 kwietnia 2019 w PHP przez Whereismycode Obywatel (1,710 p.)
Notice: Undefined variable

Tak, wiem o co chodzi z tym komunikatem. Tylko pytanie, bo ten komunikat pojawia się gdy nie została wysłana wartość drogą GET. 

Przykład:

page.php?id= //number

W jaki sposób wyświetlić komunikat, że dana strona nie istnieje ?

 

1 odpowiedź

+1 głos
odpowiedź 17 kwietnia 2019 przez Comandeer Guru (607,960 p.)

Błąd się pojawia, bo przed dostępem do zmiennej w $_GET nie sprawdzasz, czy istnieje (isset) lub czy ma wartość (empty).

komentarz 17 kwietnia 2019 przez Whereismycode Obywatel (1,710 p.)
Samo dodanie isset załatwi sprawę ?
komentarz 17 kwietnia 2019 przez Comandeer Guru (607,960 p.)
Nie wiem, bo nie widzę kodu. Ale w większości przypadków starcza.
komentarz 17 kwietnia 2019 przez Whereismycode Obywatel (1,710 p.)

Dodałem takie sprawdzenie, ale coś nie chce przekierować:

if(isset($_GET['id'])){
    echo "WORK";
}else{
    header('Location: 404.php');
}

 

komentarz 17 kwietnia 2019 przez Ehlert Ekspert (215,230 p.)

Ja od siebie polecę array_key_exists

komentarz 18 kwietnia 2019 przez Comandeer Guru (607,960 p.)

@Whereismycode,

coś nie chce przekierować

Tzn? Jest jakiś błąd? 

1
komentarz 18 kwietnia 2019 przez HaKIM Szeryf (87,590 p.)

coś nie chce przekierować

Dodaj exit na koniec:

if (isset($_GET['id'])) {
    echo "WORK";
} else {
    header('Location: 404.php');
    exit;
}
komentarz 18 kwietnia 2019 przez Whereismycode Obywatel (1,710 p.)
Tak jakby działa. Pojawia się kolejny problem. Co jeśli GET jest poddany, ale w bazie danych nie ma takiego wyniku?
1
komentarz 18 kwietnia 2019 przez HaKIM Szeryf (87,590 p.)
To już zależy od Ciebie jak chcesz to obsłużyć. ;)

Podobne pytania

0 głosów
2 odpowiedzi 511 wizyt
–1 głos
2 odpowiedzi 1,541 wizyt
0 głosów
1 odpowiedź 726 wizyt
pytanie zadane 7 maja 2016 w PHP przez niezalogowany

93,736 zapytań

142,672 odpowiedzi

323,295 komentarzy

63,299 pasjonatów

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

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...