Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][SQL]Warunkowe przekierowanie na inną stronę
Forum PHP.pl > Forum > Przedszkole
slupek
Witam serdecznie,

mam następujący kod (fragment):

  1. if ($number > 5) {
  2. print "$number";
  3. print "<tr>";
  4. }
  5. else
  6. {
  7. print "<img src='http://www.costam.pl/costam.jpg'</img>";
  8. }


Chciałbym, żeby po osiągnięciu $number >= 10 skrypt przekierował mnie na inną stronę.

Próbowałem opcji z header, ale jakoś nie zadziałało. Ktoś łaskaw by pomóc?
Ghost_78
a jak uzyles tego header questionmark.gif bo wlasnie do tego to jest.
modern-web
Spróbuj tak smile.gif

  1. if ($number > 5 && $number < 10){
  2. echo "$number";
  3. echo "<tr>";
  4. } elseif($number >= 10){
  5. echo "<img src='http://www.costam.pl/costam.jpg'</img>";
  6. header("Location: lokacja.php");
  7. }


P.S.
Na przyszłość... stosuj 'wcięcia'. Kod staje się wtedy czytelniejszy smile.gif
Przy tak krótkich skryptach nie robi to różnicy lecz przy 100 linijkach kodu może bardzo ułatwić robotę.
slupek
Cytat(modern-web @ 23.11.2010, 15:45:04 ) *
P.S.
Na przyszłość... stosuj 'wcięcia'. Kod staje się wtedy czytelniejszy smile.gif
Przy tak krótkich skryptach nie robi to różnicy lecz przy 100 linijkach kodu może bardzo ułatwić robotę.


Dzięki, postaram się pamiętać. Niestety otrzymuję, jak poprzednio, informację o błędzie:
  1. Warning: Cannot modify header information - headers already sent by (output started at /home/blabla/dane_rozliczeniowe.php:204) in /home/blabla/dru_do_sprawdzenia1.php on line 26


Sprawdziłem i dane_rozliczeniowe.php i dru_do_sprawdzenia1.php - nie ma w nich żadnych odniesień do header. Są w nich inkludowane dwa pliki - dostęp do bazy i plik ze zmiennymi - nic poza tym.

Muszę coś mieszać, inaczej by chyba zadziałało. Przestudiuję to, bo omawiane było tutaj często.
ADeM
Header musi być przed wysłaniem czegokolwiek do przeglądarki.
  1. if ($number > 5 && $number < 10) {
  2. echo "$number";
  3. echo "<tr>";
  4. }
  5. elseif($number >= 10) {
  6. header("Location: lokacja.php");
  7. }
  8. else {
  9. echo "<img src='http://www.costam.pl/costam.jpg'</img>";
  10. }
modern-web
Ok...
Dopisz taki kod:
  1. ob_start(); // na początku - od razu po <?php

i
  1. ob_end_flush(); // na końcu - przed php?>


Jeśli to nie zadziała to użyj zamiast header znacznika meta:
  1. echo "<meta http-equiv='Refresh' content='0; URL=lokacja.php'/>";


Ostatnia metoda na 100% Ci zadziała smile.gif aczkolwiek spróbuj z ob_start(); i ob_end_flush();


Edit:
Cytat
Header musi być przed wysłaniem czegokolwiek do przeglądarki.
  1. if ($number > 5 && $number < 10) {
  2. echo "$number";
  3. echo "<tr>";
  4. }
  5. elseif($number >= 10) {
  6. header("Location: lokacja.php");
  7. }
  8. else {
  9. echo "<img src='http://www.costam.pl/costam.jpg'</img>";
  10. }


Do pliku wystarczy dodać ob_start(); i ob_end_flush(); żeby rozwiązać problem...
slupek
Cytat(modern-web @ 23.11.2010, 16:41:01 ) *
Do pliku wystarczy dodać ob_start(); i ob_end_flush(); żeby rozwiązać problem...

Serdecznie dziękuję, śmiga.
modern-web
Zawsze do usług... smile.gif
Pozdrawiam i do usłyszenia!
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.