Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Dziwne zachowanie php przy uzyciu funkcji header
NoiseMc
post
Post #1





Grupa: Zarejestrowani
Postów: 398
Pomógł: 10
Dołączył: 24.11.2004
Skąd: Łódź

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


Po wpisaniu http://url/akcja/JakisParametr przenosze przegladarke z 301 na http://url/jakis-parametr.

jakis-parametr to ma byc url slug szkoly. ktorej dane wyswietlam tak wiec najpierw sprawdzam czy szkola o takim url istnieje:
  1. <?php
  2. $schools = $aycacc->getSchoolList();
  3.  
  4. $requestedUrlSlug = $requestArgs[0];
  5. $selectedProgram = $_GET['program'];
  6.  
  7. $schoolID = null;
  8. $schoolExists = false;
  9.  
  10. foreach($schools as $school)
  11. {
  12. $urlSlug = $school['url_slug'];
  13.  
  14. if ($urlSlug == $requestedUrlSlug)
  15. {
  16. $schoolID = $school['schoolID'];
  17. $schoolExists = true;
  18. }
  19. }
  20. ?>


Zalozmy ze znalazlem szkole i powinienem ja wyswietlic, ale na wypadek jakby nie zostala znaleziona to:
  1. <?php
  2. if (! $schoolExists)
  3. {
  4. header ('Location: /.');
  5. exit ();
  6. }
  7. ?>


I tu sie zaczynaja czary, bo nawet jezeli $schoolExists == true, a nawet $schoolExists === true to ta linijka z headerem zostaje wykonana to znaczy przenosi mnie do strony glownej. Co dziwne jezeli przed ta linijka w srodku instrukcji warunkowej wrzuce print ('Cos tam'); to nie drukuje mi tego na ekranie co znaczy ze jednak nie wchodzi w te klamerki, jezeli natomiast usune ten plrint to robi header.
Inna sytuacja, jezeli przed tym if-em ustawie na chama $schoolExists = true to header sie nie wykonuje.
Moze ma to jakis zwiazek z tym ze wchodze na ta strone z innego przekierowania, zglupialem i nie jestem w stanie tego w zaden sposob logicznie wytlumaczyc.


--------------------
Go to the top of the page
+Quote Post

Posty w temacie


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 Aktualny czas: 21.08.2025 - 17:30