Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Problem z najprostszą funkcją, dziwne zachowanie funkcji if
mishka49
post
Post #1





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 15.07.2013

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


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?
Go to the top of the page
+Quote Post
Greg0
post
Post #2





Grupa: Zarejestrowani
Postów: 264
Pomógł: 54
Dołączył: 31.08.2007
Skąd: Tychy

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


Nie da się zapisać tablicy w pliku w ten sposób. Zobacz sobie co zawiera tablica $tytuly (zapewne stringi)
  1. print_r($tytuly);
Go to the top of the page
+Quote Post
redeemer
post
Post #3





Grupa: Zarejestrowani
Postów: 915
Pomógł: 210
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

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


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


Ten post edytował redeemer 15.07.2013, 15:05:48
Go to the top of the page
+Quote Post
mishka49
post
Post #4





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 15.07.2013

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


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 (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 23.08.2025 - 13:34