Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Notice: Undefined index: id ...
Forum PHP.pl > Forum > Przedszkole
Madras
Witam, w jaki sposób usunąć błąd "Notice: Undefined index: id in E:\usr\strona2\index.php on line 1" ?
Linia 1, 2:
  1. $id = $_GET['id'];
  2. if($id=='') $id='0';

Błąd pojawia się tylko wtedy, kiedy w adresie URL nie ma podanej wartości zmiennej np. kiedy jest samo index.php. (bez "index.php?id=1"). Pewnie sam bym sobie poradził, ale błąd wystąpił nagle i nie mam czasu na kombinowanie :/. Za rozwiązanie problemu będę wdzięczny winksmiley.jpg
Skie
Dokładnie rzecz biorąc to nie jest błąd, tylko "spostrzeżenie". Nie wpływa ono na działanie skryptu, a pojawił Ci się pewnie dlatego że zmieniłeś poziom raportowania błędów w phpie. Możesz to rozwiązać zamieniając linijkę:

Kod
$id = $_GET['id'];


na

Kod
$id = ($_GET['id']) ? $_GET['id'] : '';
MateuszS
spróbuj

  1.  
  2. if(isset($_GET["id"])) {
  3. $id = $_GET['id'];
  4. if($id=='') $id='0';
  5. }
  6. }


Potem może coś lepszego wymyślisz ;P
Madras
Obydwie propozycje nie przynoszą żadnego rezultatu ;/ Dalej jest ten warn
Fifi209
Zrób tak:
  1. $id = (int) $_GET['id'];


I usuń w swoim kodzie to:
  1. if($id=='') $id='0';

I nie pisz, że to potrzebne tylko sprawdź czemu kazałem usunąć. winksmiley.jpg
athei
Jeżeli id ma być liczbą to
Kod
$id = (isset($_GET['id']) ? (int)$_GET['id'] : 0);
echo $id;
Jeśli łańcuchem znakowym to bez (int), bo wartość przekazana get,post jest stringiem.
Fifi209
Cytat(athei @ 22.03.2010, 08:00:20 ) *
Jeżeli id ma być liczbą to
Kod
$id = (isset($_GET['id']) ? (int)$_GET['id'] : 0);
echo $id;
Jeśli łańcuchem znakowym to bez (int), bo wartość przekazana get,post jest stringiem.


Napisałeś dokładnie to co ja 30 minut temu. ^^
athei
Nie to samo. Sprawdź czy to co Ty napisałeś nie generuje notice.
Madras
Bardzo dziękuję athei. Działa!. Jeśli byś mógł, powiedz o co chodzi w tym kodzie. Nie rozumiem szczególnie tego "?". winksmiley.jpg
Wicepsik
http://phpedia.pl/wiki/Ternariusz
JimiEx
Witam. Też mam podobny problem z tym błędem więc się podczepię.
Strona działa u mnie bezbłędnie w programie Krasnal, lecz po wrzuceniu na server ftp wywala błędem.
Wskazuje że bład jest ( w tym przypadku ) w drugiej linijce kodu. Czyli "$go = $_GET ....."
Jako że chciałem założyć prostą stronę to skorzystałem z gotowego skryptu, lecz niestety nie znam się na tym za bardzo.
Liczę na Waszą pomoc.


  1. <?php
  2. $go = $_GET['go'];
  3. if(!empty($go)) {
  4. if(is_file("pages/$go.html")) include "pages/$go.html";
  5. else if(is_file("pages/news/$go.html")) include "pages/news/$go.html";
  6. else if(is_file("pages/klubowicze/$go.html")) include "pages/klubowicze/$go.html";
  7. else echo "<br>Nie ma takiej strony :-(";
  8. }
  9. else include "pages/start.html";
  10.  
  11. ?>

To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.