Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Problem z najprostszą funkcją
Forum PHP.pl > Forum > Przedszkole
mishka49
Witam. Jestem początkujący dlatego ten temat znalazł się w przedszkolu.
Próbuję zrobić dynamiczny tytuł stron ale zaobserwowałem dziwne zachowanie funkcji if, niżej pliki
title.txt
  1. 404.html=>Błąd;
  2. info.html=>Informacje;
  3. home.html=>Home;
  4. test.html=>test


Kod php
  1. <?
  2. $tytuly = file_get_contents('sklad/title.txt');
  3. $tytuly = explode(";",$tytuly);
  4. $i=0;
  5. while ($i <= count($tytuly))
  6. {
  7. $tytul[$i] = explode("=>",$tytuly[$i]);
  8. if ($_GET['page'] == $tytul[$i][0])
  9. {
  10. $title = '..::Tytuł::.. '.$tytul[$i][1];
  11. break;
  12. }
  13. $i++;
  14. }
  15. ?>
  16. <head><title><? echo $title; ?></title></head>

Funkcja działa tylko gdy $_GET['page'] jest równe $tytul[0][0] dalej już nie, wie ktoś dlaczego?
Greg0
Nie da się zapisać tablicy w pliku w ten sposób. Zobacz sobie co zawiera tablica $tytuly (zapewne stringi)
  1. print_r($tytuly);
redeemer
Za średnikami masz znaki specjalne reprezentujące nową linię (czyli "\n" lub "\r\n" - zależy od systemu operacyjnego). W tym wypadku $tytul[$i][0] to tak naprawdę "\r\ninfo.html". Skorzystaj z funkcji trim, albo zmień plik txt na
Kod
404.html=>Błąd;info.html=>Informacje;home.html=>Home;test.html=>test
mishka49
Cytat(redeemer @ 15.07.2013, 16:04:41 ) *
Za średnikami masz znaki specjalne reprezentujące nową linię (czyli "\n" lub "\r\n" - zależy od systemu operacyjnego). W tym wypadku $tytul[$i][0] to tak naprawdę "\r\ninfo.html". Skorzystaj z funkcji trim, albo zmień plik txt na
Kod
404.html=>Błąd;info.html=>Informacje;home.html=>Home;test.html=>test

Dzięki bardzo, zadziałało smile.gif
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.