Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem z $_GET[] i jego porównywaniem, Sprawdzanie, czy podana podstrona istnieje
fgfd
post 13.08.2012, 16:58:54
Post #1





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 13.08.2012

Ostrzeżenie: (0%)
-----


Chodzi o to, że pobrałem jakieś dane z nagłówka przez $_GET[] w php. W tym przypadku jest to nazwa podstrony. I teraz chcę sprawdzić czy podana podstrona istnieje, dlatego porównuję ją z listą wszystkich podstron:
  1. for($i = 0, $length = count($dane); $i < $length; $i+=8)
  2. {
  3. if($_GET['site'] == $dane[$i+7]) //tu jest błąd, to jest 37 wiersz
  4. {
  5. //wyświetlenie podstrony
  6. }
  7. }


Lista podstron jest zapisana w pliku tekstowym, ale w tym pliku są jeszcze inne dane, które nie są tu ważne. Każda komórka tablicy $dane przechowuje jeden wiersz z pliku. Pętla przelatuje przez całą tablice i porównuje podstrony do $_GET['site'].

Plik wygląda mniej więcej tak:
  1. jakieś dane
  2. jakieś dane
  3. jakieś dane
  4. jakieś dane
  5. jakieś dane
  6. jakieś dane
  7. nazwa-podstrony
  8.  
  9. jakieś dane
  10. jakieś dane
  11. jakieś dane
  12. jakieś dane
  13. jakieś dane
  14. jakieś dane
  15. nazwa-podstrony
  16.  
  17. (i tak dalej)
  18.  


Php wywala taki błąd:
Notice: Undefined offset: 55 in D:\wamp\www\index.php on line 37
linia 37 to właśnie warunek if

Nie wiem o co chodzi. Próbowałem obie zmienne rzutować na string, jednak to nic nie dało. Może Wy mi coś doradzicie?
Jeżeli coś źle wytłumaczyłem to postaram się wytłumaczyć jeszcze raz.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
CuteOne
post 13.08.2012, 17:02:46
Post #2





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

Ostrzeżenie: (0%)
-----


Tak się tego nie robi. Routing lub jak kto woli tablica z danymi ma być oddzielnym plikiem TYLKO z danymi routingu np.

  1. modules.php:
  2. <?php
  3. return array(
  4. 'index' => 'index.php',
  5. 'login' => 'module/login.php',
  6. //itd...
  7. );
  8. ?>
  9.  
  10. router.php:
  11. <?php
  12. $modules = require_once 'modules.php';
  13. //dalsza czesc kodu
  14. ?>


Ten post edytował CuteOne 13.08.2012, 17:03:23
Go to the top of the page
+Quote Post
tehaha
post 13.08.2012, 17:08:53
Post #3





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

Ostrzeżenie: (0%)
-----


Cytat
Php wywala taki błąd:
Notice: Undefined offset: 55 in D:\wamp\www\index.php on line 37
To nie jest błąd, tylko powiadomienie o tym, że próbujesz odwołać się do nieistniejącego klucza w tablicy, jeżeli chcesz tego uniknąć to musisz sprawdzać czy taki klucz istnieje np. funkcją array_key_exists(). Ogólnie sposób w jaki to robisz, jest kompletnie nie poprawny, więc najlepiej poszukaj sobie dobrej książki lub przynajmniej kursu php.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 24.07.2025 - 17:15